====================================================== README -- last update: Sat, 25 Apr 2009 21:33:11 +0200 ====================================================== Introduction ============ AniChou is a lightweight, open source anime player tracking and MyAnimeList synchronizing desktop application written in Python. It uses the GTK+ interface library for the general user interface. Core target features ==================== - MyAnimeList server synchronization with your local database of your anime list - Display and editing of your anime entries via the graphical user interface - Automatic player tracker which tracks the files you are playing and updates your local anime database. Design targets ============== - Clean, modular and maintainable - Portable code Installation ============ 1. Install GTK+ and pyGTK In most cases you won't have to bother because they will be there already if you are using a GNOME desktop. If not, consult your package installation manual on how to install these packages. On Ubuntu and Debian you can use: apt-get install python-gtk2 On arch something like: pacman -S pygtk 2. Build and install the application $ python setup.py build && sudo python setup.py install 3. Run program $ anichou.py Data ==== Your login credentials (username and password) are stored (unscrambled) in the configuration file: $HOME/.anichou/ac.cfg Porting ======= AniChou is developed on Linux with GTK and will work on this kind of systems out of the box. It would be nice to make it work this way on other systems too. Therefore it is designed in a portable way, but there are some modules which do system specific things you will have to port to your platform: 1. The data/configuration is put in the home directory of the user. This should work on all platforms as it is implemented now, but it might cause some issues here and there, so you better take a look if it works. 2. The playtracker (players.py) is using procfs to track currently played files. This should work on all UNIXy platforms. Mac OS X needs some installation effort, but as far as I know it should be not much hassle to make it work there. On windows you are probably out of luck with this module. You basically have two choices there: implement a windows way or disable the tracker. Update: was thinking hard about this module as it is the main inhibitor for instant cross-platform portability. What I came up was that the mac port would have a choice to use procfs via FUSE and no structural code change or something like lsof -c <player> -F n | grep <media directory base> For the windows folks something similar can be achieved with the handle program (needs to be externally downloaded) 3. The system tray icon and the menu entry are GNOME specific. If you are porting to non-GNOME environments, you have to re-implement it for your desktop environment. Most of the other things (especially the user interface and server synchronization) should work fine with no adjustment. Summary: a Mac OS X / UNIX port should be quite easy. Windows is on a medium porting difficulty level. We may switch to wx in the future, the identifying of the played files is the only major issue, but on most platforms it can be implemented interfacing with the system tools or add-on programs. Linux and Mac would be fine with lsof, windows would need the handle application mentioned before. Dependencies ============ Python: http://python.org/ GTK+: http://www.gtk.org/ pyGTK: http://www.pygtk.org/