Database functionality for falocalrepo.
Project description
FALocalRepo-Database
Database functionality for falocalrepo.
Tables
To store its information, the database uses four tables: SETTINGS, USERS, SUBMISSIONS and JOURNALS.
Settings
The settings table contains settings for the program and statistics of the database.
USRNnumber of users in theUSERStableSUBNnumber of submissions in theSUBMISSIONStableHISTORYlist of executed commands in the format[["<time1>", "<command1>"], ..., ["<timeN>", "<commandN>"]](UNIX time in seconds)COOKIEScookies for the scraper, stored in JSON formatFILESFOLDERlocation of downloaded submission filesVERSIONdatabase version, this can differ from the program version
Users
The users table contains a list of all the users that have been download with the program, the folders that have been downloaded and the submissions found in each of those.
Each entry contains the following fields:
USERNAMEThe URL username of the user (no underscores or spaces)FOLDERSthe folders downloaded for that specific user.GALLERYSCRAPSFAVORITESMENTIONSthis is a legacy entry used by the program up to version 2.11.2 (was namedEXTRAS)JOURNALS
Submissions
The submissions table contains the metadata of the submissions downloaded by the program and information on their files
IDthe id of the submissionAUTHORthe username of the author (uploader) in full formatTITLEUDATEupload date in the format YYYY-MM-DDDESCRIPTIONdescription in html formatTAGSkeywords sorted alphanumerically and comma-separatedCATEGORYSPECIESGENDERRATINGFILELINKthe remote URL of the submission fileFILEEXTthe extensions of the downloaded file. Can be empty if the file contained errors and could not be recognised upon downloadFILESAVED1 if the file was successfully downloaded and saved, 0 if there was an error during download
Journals
The journals table contains the metadata of the journals downloaded by the program.
IDthe id of the journalAUTHORthe username of the author (uploader) in full formatTITLEUDATEupload date in the format YYYY-MM-DDCONTENTcontent in html format
Submission Files
The save_submission functions saves the submission metadata in the database and stores the files.
Submission files are saved in a tiered tree structure based on their submission ID. ID's are zero-padded to 10 digits and then broken up in 5 segments of 2 digits; each of this segments represents a folder tha will be created in the tree.
For example, a submission 1457893 will be padded to 0001457893 and divided into 00, 01, 45, 78, 93. The submission file will then be saved as 00/01/45/78/93/submission.file with the correct extension extracted from the file itself - FurAffinity links do not always contain the right extension and often confuse jpg and png.
Upgrading Database
The update_database function allows to upgrade the database to the current version.
Note: Versions before 2.7.0 are not supported by falocalrepo-database version 3.0.0 and above. To update from those to the new version use falocalrepo version 2.11.2 to update the database to version 2.7.0
2.7.x → 3.0.0
Information from the database are copied over to the new version, but otherwise remain unaltered save for a few changed column names in the SUBMISSIONS and USERS tables.
Files are moved to the new structure and the old files folder is deleted. Only submissions files are kept starting from version 3.0.0
3.0.x → 3.1.0
EXTRAS field in USERS table is changed to MENTIONS, and extras and Extras folders are renamed to mentions and mentions_all respectively.
3.1.x → 3.2.0
Add JOURNALS table and JOURNALS field in USERS table.
3.2.x → 3.3.0
Remove LASTSTART and LASTUPDATE entries and add HISTORY entry in SETTINGS table.
3.3.x, 3.4.x, 3.5.x → 3.6.0
Changes in database functions, simply update VERSION.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file falocalrepo-database-3.6.4.tar.gz.
File metadata
- Download URL: falocalrepo-database-3.6.4.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.2 CPython/3.8.6 Darwin/19.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bc514355c92e3587337ac99afa89f928bdcfc8a86b4ad2ab99745196ba5d164
|
|
| MD5 |
1f68cbe3c425edfdbb124e3b25a49fda
|
|
| BLAKE2b-256 |
fdc7dc6bfa671af08e89f48217359aef26d5725319f0013e64271474be5e1051
|
File details
Details for the file falocalrepo_database-3.6.4-py3-none-any.whl.
File metadata
- Download URL: falocalrepo_database-3.6.4-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.2 CPython/3.8.6 Darwin/19.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a324ed7cb8eea65f24696f2d0e608b66d2cbbc961cbc428315c52ff667239fa
|
|
| MD5 |
efaa08235fa2a0e0226f98e623195edb
|
|
| BLAKE2b-256 |
edf1bffc0546d8cb5088a49b2e470d82d6052fd24898ab0370d0b41336e33906
|