Welcome to the FFFlash Documentation

Some random Links:

GitHub:https://github.com/spookey/ffflash
PyPy:https://pypi.python.org/pypi/ffflash
Read the Docs:https://ffflash.readthedocs.org

FFFlash

This Program helps to manage Freifunk APIfiles.

To use it you need an existing APIfile. Create one here if necessary.

Commandline

There is no configuration.

Everything ffflash needs to know is passed each time as shell parameters. (It’s not much).

  • To get help, use ffflash.py -h:

    usage: ffflash [-h] [-s SIDECARS [SIDECARS ...]] [-n NODELIST] [-r RANKFILE]
               [-rc RANKCLIENTS] [-rf RANKOFFLINE] [-rn RANKONLINE]
               [-rp RANKPOSITION] [-rw RANKWELCOME] [-d] [-v]
               APIfile
    
  • You always need to pass the location to your APIfile.

  • --nodelist or -n expects the full url of your nodelist.json file, generated by the ffmap-backend.

  • Do some number crunching and store the scores in the --rankfile. (Only works if passed together with an --nodelist).

    • --rankwelcome sets the initial score to start with.
    • --rankposition increases score by that value if any location data is provided.
    • --rankonline increases score by that value if node is online.
    • --rankoffline decreases score by that value if node is offline.
    • --rankclients increases score per client by that value.
  • Pass one or more --sidecars (or -s) to merge content from there into the APIfile.

  • Use --dry (or -d) to preview all changes. Then, nothing is written to the APIfile!

  • If both -s and -n are omitted, no action is taken. So to just display your APIfile you could use this:

    ffflash.py /path/to/your/ffapi_file.json -d
    

    (makes no sense anyway, better use cat)

  • The --verbose (or -v) switch just displays more information.


Documentation

Setup

FFFlash is available as package, you can find the newest version here:

pypy:https://pypi.python.org/pypi/ffflash

Most requirements are not necessary for normal operations, only for developing. The most notable exception is PyYAML.

1
2
3
4
5
6
7
8
pytest == 2.7.3
pytest-cov == 2.1.0
pytest-runner == 2.6.2
python_dateutil == 2.4.2
PyYAML == 3.11
setuptools == 18.3.1
Sphinx == 1.3.1
watchdog == 0.8.3

find_requirements() figures out what dependencies are required.

To install/update latest version of ffflash:

sudo pip3 install -U ffflash

To install all requirements from a local clone for developing:

sudo pip3 install -U -r requirements.txt
setup.find_requirements(*names)[source]
Parameters:names – one or more required package names
Returns list:package lines from requirements.txt whose lowercased name is in names
setup.local_file(name)[source]
Parameters:name – filename to read relative from current directory
Returns str:content of name or empty string on failure

Indices and tables