Database functionality for falocalrepo.
Project description
Tables
To store its information, the database uses separate tables: USERS
, SUBMISSIONS
, JOURNALS
, SETTINGS
,
and HISTORY
.
Note: bar-separated lists are formatted as |item1||item2|
to properly isolate all elements
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:
USERNAME
the URL username of the user (no underscores or spaces)FOLDERS
the folders downloaded for that specific user, sorted and bar-separatedUSERPAGE
the user's profile text
Submissions
The submissions' table contains the metadata of the submissions downloaded by the program and information on their files
ID
the id of the submissionAUTHOR
the username of the author (uploader) in full formatTITLE
DATE
upload date in ISO format YYYY-MM-DDTHH:MMDESCRIPTION
description in html formatTAGS
bar-separated tagsCATEGORY
SPECIES
GENDER
RATING
TYPE
image, text, music, or flashFILEURL
the remote URL of the submission fileFILEEXT
the extensions of the downloaded file. Can be empty if the file contained errors and could not be recognised upon downloadFILESAVED
file and thumbnail download status as a 2bit flag:1x
if the file was downloaded0x
if not,x1
if thumbnail was downloaded,x0
if not. Possible values are0
,1
,2
,3
.FAVORITE
a bar-separated list of users that have "faved" the submissionMENTIONS
a bar-separated list of users that are mentioned in the submission description as linksFOLDER
the folder of the submission (gallery
orscraps
)USERUPDATE
whether the submission was added as a user update or favorite/single entry
Journals
The journals' table contains the metadata of the journals downloaded by the program.
ID
the id of the journalAUTHOR
the username of the author (uploader) in full formatTITLE
DATE
upload date in ISO format YYYY-MM-DDTHH:MMCONTENT
content in html formatMENTIONS
a bar-separated list of users that are mentioned in the journal content as linksUSERUPDATE
whether the journal was added as a user update or single entry
Settings
The settings table contains settings for the program and variable used by the database handler and main program.
COOKIES
cookies for the download program, stored in JSON formatFILESFOLDER
location of downloaded submission filesVERSION
database version
History
The history table holds events related to the database.
TIME
event time in ISO format YYYY-MM-DDTHH:MM:SS.ssssssEVENT
the event description
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. IDs are zero-padded to 10 digits and then broken up in 5 segments of 2 digits; each of these 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 sometimes confuse JPEG and PNG).
Upgrading Database
The FADatabase.upgrade
function allows to upgrade the database to the current version.
Note: versions prior to 4.19.0 are not supported by falocalrepo-database version 5.0.0 and above. To update from
those, use falocalrepo version 3.25.0 to upgrade
the database to version 4.19.0.
Note: Versions prior to 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
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
Hashes for falocalrepo-database-5.0.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71ae843c241a5816c90fa1df01b06f165b7d519061ec993d76a85e17d8a52ce4 |
|
MD5 | 081e48a747ff3cad3d9781c3a2f2248d |
|
BLAKE2b-256 | d69689f74d311ece333cbf9b839aa074d94164306e8c432726b36cfe450d5e91 |
Hashes for falocalrepo_database-5.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e06d9779e1d02fb1512c485bf1cacd95838120c00a79b93ada660b1f97fcaca |
|
MD5 | c796bc3c9e84dadfc515b98cce20c32f |
|
BLAKE2b-256 | 6c45bb1195fc89fd934ee9c450e64703a5a3b2ea738331ccb2ab874a50e97cc8 |