#metabrainz

/

      • yvanzo
        thanks!
      • 2020-05-21 14259, 2020

      • alastairp
        (they're part of one of the projects that I'm working on, and I've given them MB support before)
      • 2020-05-21 14204, 2020

      • yvanzo
        alastairp: yes, about their URLs.
      • 2020-05-21 14218, 2020

      • yvanzo
        check MBS-10825 if you want to.
      • 2020-05-21 14218, 2020

      • BrainzBot
        MBS-10825: Normalization of some Muziekweb links make them invalid https://tickets.metabrainz.org/browse/MBS-10825
      • 2020-05-21 14226, 2020

      • alastairp
        ah, right. perhaps that's not exactly something I can help them with
      • 2020-05-21 14250, 2020

      • alastairp
        oh, I remember the beginning of that discussion 👍
      • 2020-05-21 14254, 2020

      • alastairp
        (good morning)
      • 2020-05-21 14202, 2020

      • yvanzo
        mo’’in’ :)
      • 2020-05-21 14202, 2020

      • v6lur has quit
      • 2020-05-21 14222, 2020

      • yvanzo
        it's mostly a navigation issue: their website classify artists by genre and only shows content associated with one genre, without option to see content associated to other genres.
      • 2020-05-21 14207, 2020

      • shivam-kapila
        After thinking about the classes throughout the night I think that I can clean up the code like this:
      • 2020-05-21 14207, 2020

      • shivam-kapila
        1. Keep the formatting part totally away from the db/feedback.py. Standardize the response from DV using the dict and fetchall()
      • 2020-05-21 14207, 2020

      • shivam-kapila
        2. Make a class Feedback inspired from Listen class to standardize what does into the DB.
      • 2020-05-21 14216, 2020

      • shivam-kapila
        3. Make separate APIResponse classes for the two type of responses.
      • 2020-05-21 14216, 2020

      • shivam-kapila
        This is what I have in mind till now. alastairp: ruaok: iliekcomputers: How does this sound ^^.
      • 2020-05-21 14213, 2020

      • shivam-kapila
        Things were getting messy I believe
      • 2020-05-21 14224, 2020

      • alastairp
        I think iliekcomputers was right when he suggested opening a PR with a more end-to-end process, including an API endpoint or web view. it's still not 100% clear exactly what data you need at which point
      • 2020-05-21 14241, 2020

      • shivam-kapila
        Exactly
      • 2020-05-21 14248, 2020

      • alastairp
        I don't have time this morning to look into this in more detail, but I think you might not need 3
      • 2020-05-21 14205, 2020

      • shivam-kapila
        I will not do all of this in one PR
      • 2020-05-21 14221, 2020

      • alastairp
        my idea is that db.feedback methods will return a specific Feedback class, or a dictionary
      • 2020-05-21 14231, 2020

      • shivam-kapila
        Just implement 1. in current PR.
      • 2020-05-21 14242, 2020

      • alastairp
        the api view can format that into the correct json structure for the API
      • 2020-05-21 14247, 2020

      • alastairp
        I think this is all that's needed
      • 2020-05-21 14254, 2020

      • shivam-kapila
        Yeah same in my mind
      • 2020-05-21 14233, 2020

      • shivam-kapila
        Format for API in the API pr and keep that separate from the current one
      • 2020-05-21 14244, 2020

      • alastairp
        also, be careful about 2. "inspired from Listen class". this should be inspired only in that "we have a class"
      • 2020-05-21 14253, 2020

      • alastairp
        I'm not sure if I'm explaining that well
      • 2020-05-21 14217, 2020

      • alastairp
        ideally I would like to use https://pydantic-docs.helpmanual.io/
      • 2020-05-21 14237, 2020

      • alastairp
        you're welcome to look at it, but don't worry if you don't know how to use it. It's fine to start with just dictionaries, we can add this later
      • 2020-05-21 14225, 2020

      • shivam-kapila
        > also, be careful about 2. "inspired from Listen class". this should be inspired only in that "we have a class"
      • 2020-05-21 14225, 2020

      • shivam-kapila
        Yes I got you.
      • 2020-05-21 14205, 2020

      • shivam-kapila
        > you're welcome to look at it, but don't worry if you don't know how to use it. It's fine to start with just dictionaries, we can add this later
      • 2020-05-21 14205, 2020

      • shivam-kapila
        Sure I will try to implement it.
      • 2020-05-21 14201, 2020

      • alastairp
        iliekcomputers: oh, I just saw https://pydantic-docs.helpmanual.io/usage/schema/, pydantic will generate a jsonschema schema it seems!
      • 2020-05-21 14215, 2020

      • shivam-kapila
        ruaok: When free please let me know what you think about the multiple entries for feedback thing i.e. to remove the ON CONFLICT clause
      • 2020-05-21 14215, 2020

      • ruaok
        where can I read about that?
      • 2020-05-21 14257, 2020

      • alastairp
      • 2020-05-21 14201, 2020

      • Gazooo has quit
      • 2020-05-21 14209, 2020

      • ruaok
        thx
      • 2020-05-21 14220, 2020

      • ruaok
        ok, the underlying question is here is: do we think that having a history of love/hate data is useful for us somehow.
      • 2020-05-21 14236, 2020

      • alastairp
        yes
      • 2020-05-21 14246, 2020

      • Gazooo joined the channel
      • 2020-05-21 14250, 2020

      • ruaok
        there are no technical limitations that require us to store multiples ones as with other big data solutions.
      • 2020-05-21 14252, 2020

      • alastairp
        or more specifcially, I believe that it is. my question is, do we want to bother with it now, or add it in later
      • 2020-05-21 14208, 2020

      • ruaok
        how many times have you ever changed a rating?
      • 2020-05-21 14210, 2020

      • ruaok
        me, never.
      • 2020-05-21 14231, 2020

      • ruaok
        in fact, when I hate a song, I should hope to not be exposed to it again.
      • 2020-05-21 14245, 2020

      • alastairp
        I never _give_ ratings, so I guess I can't answer that
      • 2020-05-21 14209, 2020

      • ruaok
        I see loving a song and then later realizing that I changed my mind, but it happens almost never.
      • 2020-05-21 14211, 2020

      • alastairp
        but I've seen a bunch of research around temporal recommendations - recommending different stuff based on time of day, etc
      • 2020-05-21 14231, 2020

      • alastairp
        and people's tastes change over time
      • 2020-05-21 14237, 2020

      • ruaok
        sure that makes sense, but this is going to be so sparse as to be statistically insignificant.
      • 2020-05-21 14250, 2020

      • alastairp
        anyway, I don't mind either way, it just occurred to me as a posibility
      • 2020-05-21 14216, 2020

      • ruaok
        I don't see the use case at all. lets skip it for now and if we later realize that we do want to track this data, then let's
      • 2020-05-21 14217, 2020

      • alastairp
        ok, sure
      • 2020-05-21 14244, 2020

      • ruaok
        k. shivam-kapila ^^
      • 2020-05-21 14234, 2020

      • jmp_music has quit
      • 2020-05-21 14202, 2020

      • shivam-kapila
        I will skip it for now. Thanks :)
      • 2020-05-21 14205, 2020

      • jmp_music joined the channel
      • 2020-05-21 14207, 2020

      • BrainzGit
        [musicbrainz-server] reosarevok merged pull request #1525 (master…MBS-10840): MBS-10840: Fix key names in English guess case https://github.com/metabrainz/musicbrainz-server/…
      • 2020-05-21 14209, 2020

      • BrainzBot
        MBS-10840: Capitalise "in key" info correctly in English guess case https://tickets.metabrainz.org/browse/MBS-10840
      • 2020-05-21 14241, 2020

      • BrainzGit
        [musicbrainz-server] reosarevok merged pull request #1524 (master…MBS-10841): MBS-10841: Add "Guess case" per medium https://github.com/metabrainz/musicbrainz-server/…
      • 2020-05-21 14242, 2020

      • BrainzBot
        MBS-10841: Add "Guess case" per-medium https://tickets.metabrainz.org/browse/MBS-10841
      • 2020-05-21 14254, 2020

      • BrainzGit
        [musicbrainz-server] reosarevok merged pull request #1523 (master…MBS-10842): MBS-10842: Remove report link from deleted editors https://github.com/metabrainz/musicbrainz-server/…
      • 2020-05-21 14256, 2020

      • BrainzBot
        MBS-10842: Remove report user link from deleted editor profiles https://tickets.metabrainz.org/browse/MBS-10842
      • 2020-05-21 14229, 2020

      • ruaok
        pristine__: hey, I'm reading your PR. remind me, how do we calculate candidate sets right now? Using artist relations, yes?
      • 2020-05-21 14244, 2020

      • pristine__
        Yes.
      • 2020-05-21 14246, 2020

      • ruaok
        ok, cool. I have a feeling that the recommendation toolkit will evolve that process and find other ways to create candidate sets. but, that doesn't change anything in your PR right now.
      • 2020-05-21 14210, 2020

      • pristine__
        The idea of having many ways to create candidate sets and issue commands accordingly sounds good :)
      • 2020-05-21 14229, 2020

      • pristine__
        the recommendation engine will be deployed this week hopefully.
      • 2020-05-21 14235, 2020

      • ruaok
        good. I think that will be really useful for doing so in the toolkit.
      • 2020-05-21 14238, 2020

      • ruaok
        exciting!!
      • 2020-05-21 14248, 2020

      • ruaok
        next week might be really interesting. :)
      • 2020-05-21 14237, 2020

      • pristine__
        ruaok: Are we working on incremental artist relations and mapping?
      • 2020-05-21 14258, 2020

      • ruaok
        incremental? as in incremental updates?
      • 2020-05-21 14227, 2020

      • pristine__
        Yeah
      • 2020-05-21 14245, 2020

      • ruaok
        No. Those will be generated wholly new each time.
      • 2020-05-21 14213, 2020

      • pristine__
        Right.
      • 2020-05-21 14226, 2020

      • pristine__
        I understand that for artist relations since similarity should be recomputed each time, scores may change.
      • 2020-05-21 14227, 2020

      • pristine__
        But why to generate wholly for mapping? Will the exist mapping change? ( just thinking out loud)
      • 2020-05-21 14227, 2020

      • ruaok
        both the MSB mapping the the artist relations are just easier to calculate wholly new than to figure out incremental changes.
      • 2020-05-21 14230, 2020

      • pristine__
        existing*
      • 2020-05-21 14243, 2020

      • ruaok
        doing it incrementally would be much more work, so just re-generate.
      • 2020-05-21 14201, 2020

      • pristine__
        Hmm. Great
      • 2020-05-21 14228, 2020

      • ruaok
        review submitted -- very close!
      • 2020-05-21 14207, 2020

      • jmp_music has quit
      • 2020-05-21 14238, 2020

      • Sophist_UK joined the channel
      • 2020-05-21 14202, 2020

      • Sophist-UK has quit
      • 2020-05-21 14235, 2020

      • Sophist-UK joined the channel
      • 2020-05-21 14237, 2020

      • Sophist_UK has quit
      • 2020-05-21 14258, 2020

      • zas
      • 2020-05-21 14253, 2020

      • ruaok
        yeah.
      • 2020-05-21 14214, 2020

      • ishaanshah
        iliekcomputers: I have update the PR
      • 2020-05-21 14231, 2020

      • iliekcomputers
        both?
      • 2020-05-21 14243, 2020

      • ishaanshah
        No, the API one
      • 2020-05-21 14248, 2020

      • ishaanshah
        Working on the other one right now
      • 2020-05-21 14201, 2020

      • iliekcomputers
        oh cool, i'll merge it today then
      • 2020-05-21 14224, 2020

      • iliekcomputers
        thanks!
      • 2020-05-21 14224, 2020

      • iliekcomputers
        `StatisticsRange[stats_range]`
      • 2020-05-21 14248, 2020

      • iliekcomputers
        could we do something like if stats_range in StatisticsRange
      • 2020-05-21 14212, 2020

      • iliekcomputers
        also, what does `auto` do, could we give it explicit string values
      • 2020-05-21 14235, 2020

      • ishaanshah
        auto just gives some random values
      • 2020-05-21 14208, 2020

      • ishaanshah
        AFAIK we can only assign number
      • 2020-05-21 14239, 2020

      • iliekcomputers
        i don't think that's the case.
      • 2020-05-21 14247, 2020

      • iliekcomputers
        iirc, it only has to be a constant
      • 2020-05-21 14208, 2020

      • ishaanshah
        Ohk, so it should be the same value itself ig
      • 2020-05-21 14208, 2020

      • iliekcomputers
        although, maybe i'm wrong
      • 2020-05-21 14216, 2020

      • ishaanshah
        I will try it out
      • 2020-05-21 14232, 2020

      • ishaanshah
        > could we do something like if stats_range in StatisticsRange
      • 2020-05-21 14205, 2020

      • ishaanshah
        we can do `stats_range not in StatisticsRange.__members__`
      • 2020-05-21 14257, 2020

      • iliekcomputers
        either way, let's put it in a check in a seperate function so that the endpoint code is easy to understand and short
      • 2020-05-21 14213, 2020

      • iliekcomputers
        if not _is_valid_stats_range(): raise Error
      • 2020-05-21 14227, 2020

      • ishaanshah
        Yeah, makes sense
      • 2020-05-21 14256, 2020

      • iliekcomputers
        can you also update the test data json to use from_ts and to_ts
      • 2020-05-21 14206, 2020

      • iliekcomputers
        otherwise someone will get confused some time later
      • 2020-05-21 14227, 2020

      • ishaanshah
        Oh, the data from spark comes as from and to
      • 2020-05-21 14251, 2020

      • ishaanshah
        I kept the json as close to the spark ouput
      • 2020-05-21 14211, 2020

      • iliekcomputers
        user_top_artists_api.json would contain expected API response though right
      • 2020-05-21 14228, 2020

      • ishaanshah
        In this case no
      • 2020-05-21 14236, 2020

      • iliekcomputers
        well
      • 2020-05-21 14241, 2020

      • iliekcomputers
        we should change that name then :D
      • 2020-05-21 14218, 2020

      • ishaanshah
        Oh, I named it as its data for the api testing
      • 2020-05-21 14232, 2020

      • ishaanshah
        maybe api_input?
      • 2020-05-21 14207, 2020

      • iliekcomputers
        user_top_artists_db_data.json
      • 2020-05-21 14219, 2020

      • iliekcomputers
        if it's only for the database
      • 2020-05-21 14231, 2020

      • iliekcomputers
        naming is hard.
      • 2020-05-21 14253, 2020

      • ishaanshah
        I have smaller test case for db
      • 2020-05-21 14208, 2020

      • ishaanshah
        so that should user_top_artists_db_data
      • 2020-05-21 14225, 2020

      • ishaanshah
        and the api one should be user_top_artists_api_data?
      • 2020-05-21 14225, 2020

      • iliekcomputers
        user_top_artists_db_data_for_api_test.json
      • 2020-05-21 14246, 2020

      • iliekcomputers
        just to make it clear that it's data that goes into the db, not the api response
      • 2020-05-21 14220, 2020

      • ishaanshah
        Ok, 😄
      • 2020-05-21 14204, 2020

      • iliekcomputers
        sorry, these are mostly nitpicks, but we should get them right while we're on this, otherwise they'll just stay that way forever
      • 2020-05-21 14222, 2020

      • ishaanshah
        Yep, yep no worries
      • 2020-05-21 14235, 2020

      • ishaanshah
        I will change the from to from_ts
      • 2020-05-21 14245, 2020

      • ishaanshah
        on the spark side too in the spark PR
      • 2020-05-21 14258, 2020

      • ishaanshah
        I agree that from is not clear
      • 2020-05-21 14202, 2020

      • iliekcomputers
        yeah, that's probably a good idea
      • 2020-05-21 14228, 2020

      • shivam-kapila
        ruaok: alastairp: iliekcomputers: I have updated the Module PR. Hopefully its better and less messy now. Please take a look when free.
      • 2020-05-21 14252, 2020

      • ruaok
        k
      • 2020-05-21 14229, 2020

      • sumedh joined the channel
      • 2020-05-21 14219, 2020

      • pristine__
        > Oh, the data from spark comes as from and to
      • 2020-05-21 14229, 2020

      • pristine__
        Where in? Was curious to know
      • 2020-05-21 14234, 2020

      • pristine__
        ishaanshah: ^
      • 2020-05-21 14236, 2020

      • ishaanshah
      • 2020-05-21 14206, 2020

      • ishaanshah
        pristine__: ^
      • 2020-05-21 14209, 2020

      • ishaanshah
        iliekcomputers: Pushed the changes
      • 2020-05-21 14227, 2020

      • alastairp
        shivam-kapila: looks great