Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add MyWatchlistGenerator #102

Merged

Conversation

ashotjanibekyan
Copy link
Contributor

A new page generator to get pages from logged-in user's watchlist.

I'm not quite sure if the generator is within the scope of this project but I had to create it for my project and thought it could be useful here too.

{
{"wrnamespace", NamespaceIds == null ? null : MediaWikiHelper.JoinValues(NamespaceIds)},
{"wrlimit", PaginationSize},
{"wrprop", ShowChangedTime ? "changed" : null},
Copy link
Owner

@CXuesong CXuesong Aug 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. I think you can always enable ShowChangedTime (and remove the ShowChangedTime property), if you need it. I guess it does not increase much sever cost.
  2. Since there is custom field (ChangedTime), you may want to set up a wiki list item type (like GeoSearchResultItem) and override the WikiPageGenerator<TItem>.ItemFromJson method, so that WikiPageGenerator<TItem>.EnumItemsAsync can enumerate something containing a PageStub and a ChangedTime, rather than PageStub only. You can refer to GeoSearchGenerator as an example. (Or you can just leave this work to me 😂)

Copy link
Contributor Author

@ashotjanibekyan ashotjanibekyan Aug 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@CXuesong. {{Done}} :)

I don't like that I hardcoded the value in FindQueryResponseItemsRoot but I couldn't find other lists that give results in a different format (I tested on Armenian Wikipedia).

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

I don't like that I hardcoded the value in FindQueryResponseItemsRoot but I couldn't find other lists that give results in a different format (I tested on Armenian Wikipedia).

I guess this is the first time I discover a query result without query JSON root node. Yeah probably we can go without any generic root-finding-function for now, and see what happens.

…kiPageGenerator to WikiPageGenerator<MyWatchlistResultItem>
@CXuesong CXuesong merged commit 6be126a into CXuesong:master Aug 30, 2023
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants