Django Commands

deby edited this page Mar 19, 2016 · 3 revisions

school idol tomodachi

List of features

School Idol Tomodachi Cards

School Idol Tomodachi Profile

School Idol Tomodachi Activities

School Idol Tomodachi Events

School Idol Festival, the game

Contact us

Help us!

Developers

Clone this wiki locally

Commands

Commands to import games data from various websites

See all the sources used here: http://schoolido.lu/about/

Command line arguments available in almost all import scripts:

  • local Use local files instead of dowloading web pages (for development only)
  • redownload Will download the images (or details pages such as idols descriptions), even when they already have been downloaded and set in the database
  • noimages Do not download the images

All import commands when they succeed also update the raw information

Initial basic import
python manage.py importcards

Will call some of the commands below: importcards_stats, import_jp_events, import_en_events, import_idols and import_songs

Extra command line arguments:

  • delete Delete all cards, idols, songs and events
Import Cards stats
python manage.py importcardstats
  • Will import cards with their ids, rarity, attribute, is_promo, promo_item, is_special, hp, all statistics (smile, pure, cool for minimum, non-idolized maximum (set to 0 for N and promos) and idolized maximum), skill, skill_details (special cards only), center_skill, idol, event
  • Will create events objects if they don't exist, with just the English + Japanese name
  • Will create idols objects if they don't exist, with just the name of the idol
  • Local file: decaf.html
Import Japanese events information
python manage.py import_jp_events
  • Will import events with their beginning, end, t1 points + rank, t2 points + rank, note, Japanese image
  • Local file: events.html
Import English events information (+ set japan_only to False for worldwide available cards)
python manage.py import_en_events
  • Will set cards as worldwide available if they appear in the list of cards
  • Will import English events with their beginning, end, t1 points + rank, t2 points + rank
  • Note: English banners currently can't be imported from any known website and are uploaded manually in production
  • Note: English and Japanese events info are stored in the same event object
  • Local file: eventsEN.html
Import idols
python manage.py import_idols
  • Will update the idols objects with the raw information specified in raw_information in api/raw.py
  • Will import idols trivia info (see full object in api/models.py)
  • Will save translated collection in cards for each idol.
  • Local file: None. Will not import idols trivia and translated collection when specified.
Import songs
python manage.py import_songs
  • Will create objects for each songs with all their info (see full object in api/models.py)
  • Will save the event in the same order than the beginning of each event, skipping medleys and score matches
  • Will call the iTunes API to find a preview of the song (set to 0 when not found, redownload to retry)
  • Will import song images
  • Local file: songs.html
Import video stories
python manage.py import_video_stories
  • Will insert the YouTube links for JP/EN videos from this document
  • Local file: videos.csv
Import skills and card images from Wikia
python manage.py import_wikia
  • Will import the skill details and the card images from Wikia list of cards
  • Local file: wikia.html
Import Japanese information for cards
python manage.py importcards_japanese
  • Will import the Japanese translations of the skill name, skill detail and the collection.
  • Local file: jpcards.html

Commands related to the site itself

Fill the database with users' location

To show locations on the map at /map/ (http://schoolido.lu/map/)

python manage.py latlong

Extra command line arguments:

  • reload will force reload all the locations in the database, even the ones already in. This is not recommended since OpenStreetMap has service restrictions.
Delete a user

Will delete a user, their accounts, the owned cards of their accounts, their activities, their event participations, and everything else associated with that user.

python manage.py deleteuser
Generate cached data to use in the website
Database cache
python manage.py update_cached_objects
  • Update total number of cards owner and people who have the card in their wishlist inside each card object
  • Update ranking positions of each card compared to each others (best of each attribute)
Settings cache
python manage.py generate_settings
  • Total donators, current contests, ages of users, cards statistics
In production, should be in a crontab together:
python manage.py update_cached_objects && python manage.py generate_settings
Get the list of usernames for a given email address
python manage.py getusername deby@schoolido.lu
Add staff permission to a user
python manage.py add_permission db0 VERIFICATION_1
Revoke staff permission of a user
python manage.py revoke_permission db0 VERIFICATION_1
Change a user's password
python manage.py changepassword db0

Will check if a transfer code is stored for that user and will not allow you to change it if there's at least one.

If you still wish to change the password, add a force argument after the username. The transfer codes saved will be deleted.

Generate release dates
python manage.py generate_release_dates

Promo cards don't have a release date in the wiki, so this script fills the missing release date by assuming it's the same than the previous card that has a release date.

Use the images of the songs & cards from the production website

If what you plan to do with the website doesn't require working with images, you can tell your instance to use the URLs from the production website. This way, you can have a good looking testing environment without having to download all the images (which takes hours).

To do so, create a local settings file and add IMAGES_HOSTING_PATH = 'http://i.schoolido.lu/', then run this script to tell your database that you have the images:

python manage.py quickupdate