Ejemplo n.º 1
0
        // thanks to this trouble child: https://archive.org/metadata/lotus2011-16-07.lotus2011-16-07_Neumann
        private string FixDisplayDate(Relisten.Vendor.ArchiveOrg.Metadata.Metadata meta)
        {
            // 1970-03-XX or 1970-XX-XX which is okay because it is handled by the rebuild
            if (meta.date.Contains('X'))
            {
                return(meta.date);
            }

            // happy case
            if (TestDate(meta.date))
            {
                return(meta.date);
            }

            var d = TryFlippingMonthAndDate(meta.date);

            if (d != null)
            {
                return(d);
            }

            // try to parse it out of the identifier
            var matches = ExtractDateFromIdentifier.Match(meta.identifier);

            if (matches.Success)
            {
                var tdate = matches.Groups[1].Value;

                if (TestDate(tdate))
                {
                    return(tdate);
                }

                var flipped = TryFlippingMonthAndDate(tdate);

                if (flipped != null)
                {
                    return(flipped);
                }
            }

            return(null);
        }
Ejemplo n.º 2
0
        private Source CreateSourceForMetadata(
            Artist artist,
            Relisten.Vendor.ArchiveOrg.Metadata.Metadata meta,
            Relisten.Vendor.ArchiveOrg.SearchDoc searchDoc,
            Venue dbVenue = null
            )
        {
            var sbd = meta.identifier.EmptyIfNull().ContainsInsensitive("sbd") ||
                      meta.title.EmptyIfNull().ContainsInsensitive("sbd") ||
                      meta.source.EmptyIfNull().ContainsInsensitive("sbd") ||
                      meta.lineage.EmptyIfNull().ContainsInsensitive("sbd")
            ;

            var remaster = meta.identifier.EmptyIfNull().ContainsInsensitive("remast") ||
                           meta.title.EmptyIfNull().ContainsInsensitive("remast") ||
                           meta.source.EmptyIfNull().ContainsInsensitive("remast") ||
                           meta.lineage.EmptyIfNull().ContainsInsensitive("remast")
            ;

            return(new Source()
            {
                artist_id = artist.id,
                is_soundboard = sbd,
                is_remaster = remaster,
                has_jamcharts = false,
                avg_rating = 0,  // dbReviews.Average(rev => 1.0 * rev.rating),
                num_reviews = 0, // dbReviews.Count,
                upstream_identifier = meta.identifier,
                description = meta.description.EmptyIfNull(),
                taper_notes = meta.notes.EmptyIfNull(),
                source = meta.source.EmptyIfNull(),
                taper = meta.taper.EmptyIfNull(),
                transferrer = meta.transferer.EmptyIfNull(),
                lineage = meta.lineage.EmptyIfNull(),
                updated_at = searchDoc._iguana_updated_at,
                venue_id = dbVenue?.id,
                display_date = meta.date
            });
        }