Web interface for falocalrepo.
Web interface for falocalrepo.
Favicon by Fur Affinity.
Installation & Requirements
To install the program it is sufficient to use Python pip and get the package
python3 -m pip install falocalrepo-server
Python 3.9 or above is needed to run this program, all other dependencies are handled by pip during installation. For information on how to install Python on your computer, refer to the official website Python.org.
For the program to run, a properly formatted database created by falocalrepo needs to be present in the same folder.
falocalrepo-server <database> [--host] [--port] [--ssl-cert] [--ssl-key]
The server needs one argument pointing at the location of a valid falocalrepo database and accepts optional arguments to manually set host, port, and an SSL certificate with key. By default, the server is run on 0.0.0.0:80 for HTTP (without certificate) and 0.0.0.0:443 for HTTPS (with certificate).
Once the server is running the web app can be accessed at the address shown in the terminal.
|database||None, mandatory argument|
|port||80 if no certificate is given, 443 otherwise|
# Launch an HTTP server reachable from other machines using the server's hostname/IP falocalrepo-server ~/FA.db
# Launch a localhost-only server on port 8080 falocalrepo-server ~/FA.db --host 127.0.0.1 --port 8080
# Launch an HTTPS server reachable from other machines using the server's hostname/IP falocalrepo-server ~/FA.db --ssl-cert ~/FA.certificates/certificate.crt --ssl-key ~/FA.certificates/private.key
# Launch a localhost-only HTTPS server on port 8443 falocalrepo-server ~/FA.db --host 127.0.0.1 --port 8443 --ssl-cert ~/FA.certificates/certificate.crt --ssl-key ~/FA.certificates/private.key
Note: All the following paths are meant as paths from
||Show home page with general information regarding the database|
||Show information regarding a specific user|
||Browse a user's gallery submissions|
||Browse a user's scraps submissions|
||Browse a user's gallery & scraps submissions|
||Browse a user's favorite submissions|
||Browse the submissions where the user is mentioned|
||Browse a user's journals|
||View a submission|
||Open a submission file|
||Open a submission thumbnail (generated for image if no thumbnail is stored)|
||Download a submission's file, description, and metadata as a ZIP archive|
||View a journal|
||Download a journal's content and metadata as a ZIP archive|
The home page displays general information about the database and contains links to browse and search pages for the various tables.
The information table displays the total number of submissions, journals, and users together with the version of the database. Clicking on any of the counters open the relevant browse page.
Underneath the information table are buttons that open new search pages for submissions, journals, and users.
Browse & Search
The browse and search pages allow to explore the submissions/journals contained in the database. Searches are performed
case-insensitively using a simple syntax in the form
@field term [[| &] term ...] which allows logic operators,
parentheses and start/end of field matching, see Query Language for details.
Search terms for submissions and journals default to the
any field if none is used, while the
username field is used
for users searches.
The controls at the top of the page allow to query the database and control the visualisation of the results.
The Search input allows to insert the search query.
The Add Field menu allows to insert a specific search field using a simple dropdown menu.
The - button clears the search input field.
The Sort By and Order menus change the sorting field and order of the search results. Submissions and journals default to descending ID, while users default to ascending username.
The View menu is only visible for submissions and allows changing between the (default) grid view to the list view used for journals and users. Submission thumbnails are visualised in both cases.
The Search button submits the search request using the current query and sorting settings.
Under the search controls are the number of results and current page.
Under the results numbers are the page controls. First leads to page 1, Prev leads to the previous page, Next leads to the next page, and Last leads to the last page. These controls are also available at the bottom of the page.
The query language used for this server is based on and improves the search syntax currently used by the Fur Affinity website. Its basic elements are:
@<field>field specifier (e.g.
@title), all database columns are available as search fields. See falocalrepo-database for details on the available columns.
()parentheses, they can be used for better logic operations
&AND logic operator, used between search terms
|OR logic operator, used between search terms
!NOT logic operator, used as prefix of search terms
""quotes, allow searching for literal strings without needing to escape
%match 0 or more characters
_match exactly 1 character
^start of field, when used at the start of a search term, it matches the beginning of the field
$end of field, when used at the end of a search term, it matches the end of the field
All other strings are considered search terms.
The search uses the
@any field by default, allowing to do general searches without specifying a field.
Search terms that are not separated by a logic operator are considered AND terms (i.e.
a b c ->
a & b & c).
Except for the
USERNAME fields, all search terms are searched through the whole content of the
various fields: i.e.
@description cat will match any item whose description field contains "cat". To match items that
contain only "cat" (or start with, end with, etc.), the
$ operators need to be used (
Search terms for
USERNAME are matched exactly as they are: i.e.
@author tom will match only
items whose author field is exactly equal to "tom", to match items that contain "tom" the
operators need to be used (e.g.
Search for journals/submissions containing water and either otter, lutrine, or mustelid, or water and either cat or feline:
water ((otter | lutrine | mustelid) | (cat | feline))
@any water & ((otter | lutrine | mustelid) | (cat | feline))
Search for journals/submissions containing "cat" or "feline" but neither "mouse" nor "rodent":
(cat | feline) !mouse !rodent
Search for general-rated submissions uploaded by a user whose name starts with "tom" that contain either "volleyball" or "volley" and "ball" separated by one character (e.g. "volley-ball") in any field:
@rating general @author tom% @any (volleyball | volley_ball)
(volleyball | volley_ball) @rating general @author tom%
Search for journals/submissions uploaded in 2020 except for March:
@date ^2020 !^2020-03
Search for submissions uploaded in March 2021 (meaning the date has to start with
2021-03) whose tags contain the
exact tag "ball":
@date ^2021-03 @tags "|ball|"
@date ^2021-03 @tags \|ball\|
Search for journals/submissions where a specific user named "tom" is mentioned:
Search for submissions whose only favorite is a user named "alex":
Search for users whose names contain "mark":
Search for journals/submissions whose title ends with "100%":
Search for journals/submissions whose title is exactly "cat":
Search for text submissions with PDF files:
@type text @fileext pdf
The user page shows information about submissions and journals related to a user (gallery, scraps, favorites, mentions, and journals) and what folders have been set for download. See falocalrepo for more details on this.
Clicking on any of the counters opens the relevant results via the search interface, allowing to refine the search further.
The submission page shows the submission file (if present), the submission metadata, and the description.
Image, audio, and plain text submission files are displayed directly in the page, others (e.g. PDF files) will display a link to open them. For images, clicking on the images opens its file.
The metadata table contains clickable links to the user's page (see User for details), tags, category, species, gender, rating, folder (gallery/scraps), and to user pages of favouring and mentioned users.
The description is displayed as-is except for user icons, which are replaced by
@username styled links to avoid
display errors caused by expired icon links.
Under the metadata table are a number of buttons that allow to access the submission file, open its Fur Affinity counterpart, and navigate the other submissions from the author.
The Download File button opens the submission file in the current browser tab.
The Download Submission as ZIP button generates a ZIP file containing the submission file, submission thumbnail, description HTML, and metadata in JSON format.
The Open on Fur Affinity button opens the submission on Fur Affinity
The Next and Prev buttons lead to the next more recent and the previous less recent submissions respectively.
The Gallery, All, and Scraps buttons open a search page with the user's gallery submissions, scraps and gallery submissions together, and scraps submissions respectively.
The journal page shows the journal metadata and content.
The metadata table contains clickable links to the user's page (see User for details) and to user pages of mentioned users.
Under the metadata table are a number of buttons that allow to download the journal, open its Fur Affinity counterpart, and navigate the other journals from the same user.
The Download Journal as ZIP button generates a ZIP file containing the journal content HTML and metadata in JSON format.
The Open on Fur Affinity button opens the journal on Fur Affinity
The Next and Prev buttons lead to the next more recent, and the previous less recent journals respectively.
The All button opens a search page with all the user's journals.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size falocalrepo_server-1.12.0-py3-none-any.whl (47.5 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size falocalrepo-server-1.12.0.tar.gz (49.7 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for falocalrepo_server-1.12.0-py3-none-any.whl
Hashes for falocalrepo-server-1.12.0.tar.gz