Experiment with the viability of an automated pokédex scraper for gathering data off fan game wikis. Will save much time compared to entering all the data, even in a fast interface.
Use some space on the redesigned list page to show an announcement banner.
TBD:
Which levels of granularity get an announcement?
Universal (for sure, useful for countdown timers for next expected rotation)
City (for PvP announcements, etc…)
Region/Neighborhood (for more local events)
Use just the top slot or have top & bottom announcement types?
Accept some MD or Textile?
I would need to add others as Django admins (with restricted geographic access) for this to be useful—keeping up with anything other than city & universal announcements are too much for me.
Probably something like an egg in a nest. Have offers for commissions or just make one myself. Benefits (outside branding): 404s stop showing up in my logs for the favicon
Create a submission form so AirTable is no longer such a requirement. This form is optional and AT may be the right choice for busier locations as a filter against spam and DDoS.
However, API endpoints should be opened for the submission of new nests by bots. A new column in NstMetropolisMajor should be added for AT_writeback as an on/off switch for AT-enabled cities to choose whether to mirror submissions made directly to this API/form back to AirTable as a form of redundancy.
Required fields for the API would be the user name, species, nest, and the server/bot name. Behavior is mostly outlined in the readme proposal for Discord bots.
For nests that used to be separate but are now merged. Keep old nests for historical data but point all new entries for the separate nests to the new combined nest. Unsure how this would interact with nest histories.
Add the ability to search by species, type, or region. Will be limited to the scope of a NstMetropolisMajor and not the entire database.
Searching for an evolved form of a nesting species ideally will return nests with the nesting form.
Expected search order
Species by Pokédex number (if search is numeric)
Type
Region
Species name
Return an error if multiple matches are made along with the list of possibilities when run as an API. Just give a "too many results" error for HTML requests.
Solution: add checking for a time as well as the date when pulling to see which rotation to pull from.
Will require changing the date column in NstRotationDate to a datetime with TZ support. Normal rotations will be moved to alternate Thursdays at midnight UTC while event migrations will be assumed to happen at 13:00 Pacific (standard or DST depending on when the event happens).
Obvious files to touch are all in the nestlist directory: models.py, nest_entry.py, views.py, and rotate.py
Alter the use of NstCombinedRegion such that each NstNeighborhood can be in more than one. Also, add API/HTML endpoints for these more specific lists. The use case would be that some neighborhoods and suburbs are considered to be parts of more than one region at once, so these regions can be shown without needing to display the entire "city"'s nests (which can cover a very large geographic area)
A read-only endpoint to retrieve the current nest list. An optional parameter could later be added to retrieve the current state of all nests in a city, including empties. As well, some sort of empties endpoint could work (though I suspect my current method of storage would give this a negative performance impact).
Related to #2 in that it involves a date. Add a /date=… parameter in the URL scheme to specify which date you want to grab data for when looking through historical data. Use this for both the API and the HTML serving.