<commit_before>This is a simple [Flask](https://palletsprojects.com/p/flask/) application
to manage user accounts for web services hosted at
https://modbase.compbio.ucsf.edu/

## Configuration

1. Create a file `Makefile.include` in the same directory as `Makefile` that
   sets the `WEBTOP` variable to a directory readable by Apache.

2. Create a configuration file `<WEBTOP>/instance/account.cfg`. This should
   be readable only by Apache (since it contains passwords) and contain
   a number of key=value pairs:
   - `SECRET_KEY`: a long random password, used by Flask to encrypt
     session cookies.
   - `MAIL_SERVER`, `MAIL_PORT`, `MAIL_FROM`: host and port to
     connect to to send emails, and the From: address for these emails.
     This is used for sending password resets, and letting the admins know
     when an internal error occurs.
   - `MAIL_TO` a Python list of email address to send traceback information to
     when an internal error occurs.
   - `DATABASE_USER`, `DATABASE_PASSWD`, `DATABASE_SOCKET`: parameters to
     connect to the MySQL server.

3. Add a suitable `WSGIScriptAlias` rule to the Apache configuration pointing
   `/account` to `<WEBTOP>/account.wsgi`.

## Deployment

Use `make test` to test changes to the application, and `make install` to
deploy it (this will install the files to the `WEBTOP` directory).<commit_msg>Fix typo<commit_after>This is a simple [Flask](https://palletsprojects.com/p/flask/) application
to manage user accounts for web services hosted at
https://modbase.compbio.ucsf.edu/

## Configuration

1. Create a file `Makefile.include` in the same directory as `Makefile` that
   sets the `WEBTOP` variable to a directory readable by Apache.

2. Create a configuration file `<WEBTOP>/instance/account.cfg`. This should
   be readable only by Apache (since it contains passwords) and contain
   a number of key=value pairs:
   - `SECRET_KEY`: a long random password, used by Flask to encrypt
     session cookies.
   - `MAIL_SERVER`, `MAIL_PORT`, `MAIL_FROM`: host and port to
     connect to to send emails, and the From: address for these emails.
     This is used for sending password resets, and letting the admins know
     when an internal error occurs.
   - `MAIL_TO` a Python list of email addresses to send traceback information to
     when an internal error occurs.
   - `DATABASE_USER`, `DATABASE_PASSWD`, `DATABASE_SOCKET`: parameters to
     connect to the MySQL server.

3. Add a suitable `WSGIScriptAlias` rule to the Apache configuration pointing
   `/account` to `<WEBTOP>/account.wsgi`.

## Deployment

Use `make test` to test changes to the application, and `make install` to
deploy it (this will install the files to the `WEBTOP` directory).
{'fraction_non_alphanumeric': 0.07774110744407774, 'fraction_numerical': 0.0022002200220022, 'mean_word_length': 3.906474820143885, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1827005', 'n_tokens_mistral': 785, 'n_tokens_neox': 768, 'n_words': 354}