forked from skriticos/ac
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
114 lines (75 loc) · 3.64 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
======================================================
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/