WebAOM
WebAOM is a simple java applet/application that hash files and add them to your mylist at AniDB. It is made for those who don't want to or cannot install Anidb-O-Matic. The name may be inaccurate/misleading since it does not replace AOM in any way. It is based on the UDP API and is therefore limited.
All questions, feature requests and bug reports can be pm'ed to epoximator.
Author: epoximator
OS: Java VM (Sun)
Main Features:
- ed2k, crc32, md5, sha1, tth hashing
- file add to mylist
- custom file renaming and moving
- external postgre/mysql database support
Current Version hosted by AniDB:
Latest Version hosted by epoximator:
Old versions:
Screenshots
-
Options
-
Log
Documentation
Buttons
- Wiki : Link to this page.
- Files... : Add specific files for hashing. (Only those with extensions specified in "Wanted File Extensions" are added.)
- Folders... : Add folder(s) with all including files for hashing.
- Toggle fileIO : Enable/disable hashing and moving thread.
- Toggle netIO : Enable/disable communication thread.
- Save Opt: Save options to "%home/.webaom".
- Export : Export all the loaded data to a file.
- Import: Import data from a file.
- Ping AniDB : Check reachability to AniDB. (UDP server that is.)
Tabs
- Rules: Rule system. See Move/Rename system.
- Options : All options.
- Jobs: Table of files/work.
- Alt: Alternative treetable view of your files. Grouped by anime, episode.
- Log : History log. Press DEL to clean.
- Hash : All selected checksums are printed here.
- Info : Some info about the client. Changelog.
- Debug : Low level communication and exceptions are printed here.
- Chii Emu: Write Chii commands here. (Also possible to use UDP API commands.)
Options
- Connection
- AniDB Host : URL to AniDB can be set here.
- Remote Port : Remote Port can be set here.
- Local Port : Local Port can be set here. Necessary if the default port is used by another application on your system.
- Delay (sec) : Delay between each datagram sent to server. 2 seconds is minimum, 3 is recommended. Should be set higher if connection is poor or if much work is queued.
- Timeout (sec) : Timeout on receiving reply from AniDB.
- File Options
- Add files to mylist.
- Filestates
- Mylist:source
- Mylist:storage
- Mylist:comment
- Mylist:watched
- Other
- Hash Dirs : Default directories to hash. Checked every time Hasher starts. Directories are separated with ";". It's not recommended to edit this string when the Hasher is running.
- Browser Path : Set path to internet browser manually here. For Linux users.
- My Database : JDBC url to local / private database.
- Log File : Set path to log file (html). Press enter to enable.
- Renaming : Combobox for selecting renaming mode.
- Hash functions : ED2K CRC32 MD5 SHA1 TTH
- Wanted File Extensions : Default are avi, ogm, mkv, mp4.
- Rules (in own tab)
- Renaming : Show rules for renaming.
- Moving : Show rules for moving.
- Apply : Apply the current rules. Don't forget to click this after you have changed the rules.
- Replace Table : String mapping table. DELETE, CTRL UP/DOWN keys is supported.
Job Menu (Popup)
The popup menu will appear when right clicking a job (or several). It will spawn a worker thread when needed. It's not possible to spawn several such worker threads, but it's possible to abort a running thread by pressing ESC.
- Pause : Pause / unpause job.
- Show Info : Show info about a file/job. (double click)
- Watch Now : Watch with default media player. Windows only. (alt + double click)
- Explore Folder : Open parent folder with Explorer. Windows only.
- Rehash : Use this if you want rehash and include other hash types. (Must be selected in 'Other' options.)
- Identify : Re-identify the file. Can be used on 'Unknown' files to check if they are added to anidb.
- Add to mylist : Add job manually if you forgot to check 'Add files to mylist'.
- Apply Rules : If the rules are changed after a job is finished, they can be applied again manually.
- Set Finished : If you don't want to bother with a troublesome file, just set it as finished.
- Restore Name : Rename file to its original name.
- Set Folder : Move file to a specific folder. Can also be used to find files when 'File not found'.
- Set Parent Folder : Same as 'Set Folder' but this will include the folder. For keeping the folder name.
- Edit Folder Path : Edit the folder path raw.
- Remove from DB : Remove job from local database. This will _not_ remove the file from your mylist. The job will be readded if used twice.
Move/rename system
A new feature from 1.09 is moving and renaming of files based on rules. This is implemented to ease administration of your anime files. The system may seem confusing at first, but it is actually pretty simple. Since the system performs virtually no error checking on the input you provide, it is recommended that you understand the system fully before using it.
Notice that the system is under development. Feel free to request changes / comment.
Scripting
For renaming and moving files WebAOM needs schemas. A schema i just a string with tags, where each tag corresponds to file/anime data. Ex: "%ann - %enr [%crc]". (See tag chart below.) The point with the rule system is that you can customize these schemas so different types of files can be renamed different ways, and moved to different locations. To build the schemas you have to write two simple scripts; one for renaming and one for moving. Example on rename schema:
IF A(Naruto) DO FAIL //Do not rename file if it is Naruto DO ADD '%eng (%ann) - %enr - %epn ' //Add the base, same for all files IF D(japanese);S(english) DO ADD '(SUB)' //Add (SUB) if the file is subbed in english IF D(japanese);S(none) DO ADD '(RAW)' //Add (RAW) if the file is not subbed. IF G(!unknown) DO ADD '[%grp]' //Add group name if it is not unknown DO ADD '(%CRC)' //Always add crc #this would create the schema "%eng (%ann) - %enr - %epn (SUB)[%grp](%CRC)" for a normal subbed file.
' around parts is not required. Example on move schema:
IF R(DVD,HKDVD) DO ADD 'M:\dvd\' ELSE DO ADD 'N:\tv\' IF Y(0-1999) DO ADD '199X\%year - %ann [%eps]' ELSE DO ADD '%year\%ann [%eps]' IF G(!unknown) DO ADD '[%grp]\' ELSE DO ADD '\'
Syntax for each line in a script:
- [[ELSE] IF {test}/ELSE] DO ADD {part}/SET {part}/FAIL/FINISH [{last part}]/RETURN {complete schema}
- ADD means +=
- SET means =
- FAIL means return null;
- FINISH means return result; Also possible to add last part. (Not needed as last line.)
- RETURN means return complete schema (for exceptions).
- DO is always required.
- !!! CASE SENSITIVE !!!
Possible tests
- A = Anime (text/number) [*/#] Anime Name/Title (Romaji/Kanji/English) or aid. (Synonyms and short names is NOT supported.)
- G = Group (text/number) [unknown, */#] Short name or gid.
- Q = Quality (text) [unknown, very high, high, med, low, very low, corrupted, eyecancer]
- R = Rip source (text) [unknown, camcorder, TV, DTV, VHS, VCD, SVCD, LD, DVD, HKDVD, www]
- T = Type (text) [unknown, TV, OVA, Movie, Other, web]
- Y = Year (number) [#]
- D = Dub language (text) (Note: 'dual (jap/[lang2])' is replaced with 'jap&[lang2]')
- S = Sub language (text)
- P = file Path (regexp).
- N = geNre (text, one of).
- I = tag Is defined (text). (IF I(%eng) DO ADD %eng)
There is atm no support for wildcards, but lists (A,B,C,D), for strings and numbers, and ranges (0-1999,2001-3000), on numbers, is supported. ',' means OR. '!' means NOT. ';' means AND.
Tags
%ann Anime Name / Title %kan Jap. Kanji Title %eng English Title %epn Episode name %epk Episode name kanji %epr Episode name romaji %enr Episode number %ed2k / %ED2K %md5 / %MD5 %sha / %SHA %crc / %CRC %ver Version string %cen Censored string %dub Dub language %sub Sub language %grp Group short name %qual Quality %src Source %res Resolution %vid Video codec %aud Audio codec %year %eps Total number of episodes %type [unknown, TV, OVA, Movie, Other, web] %gen Category string %fid File ID %aid Anime ID %eid Episode ID %gid Group ID
Local database
From 1.14 external databases is supported.
How to:
- Download and install postgresql or mysql. Be sure to select unicode support.
- Download the JDBC Driver for postgresql or mysql and extract the .jar file to '{java path}/jre{version}/lib/ext'.
- Create the database:
- postgre:
- psql template1 {usr}
- create database {webaom}; \q
- mysql:
- mysql -u{usr} -p{psw}
- create database {webaom}; exit;
- Start WebAOM and write the jdbc url into the 'My Database' field: "jdbc:{mysql|postgre}://{host}[:port]/{webaom}[?user={usr}][&password={psw}]
- {host} is the url or ip to the host. (localhost/127.0.0.1)
- {webaom} is the name of the database. Can be what ever you like.
- {usr} is the username. Optional. 'root' is assumed.
- {psw} is the password. Optional. No password is assumed.
- Press enter (in text field).
- This must be done every time you start WebAOM. Should be done before adding any files.
- All jobs in db that are not finished will be loaded at this point.
- If you want to load info on finished files you must use the Add file/folder buttons. (It's also possible to load all the jobs by adding ! in front of the jdbc url.)
Changelog
1.16 13.01.2006
- Added support for udp server v3. Removed support for v2.
- Removed all http access and html parsing.
- Added simple chii emulator. (!uptime,!stats,!top,!mystats,!anime,!group,!randomanime,!mylist,!state)
- Several fixes/changes in core.
- Improved html log performance.
- Added key command ESC in job list which stops the menu worker thread if running.
- Added key command DEL in html log which deletes the log.
- Removed 'Save Log' button.
- Added first version of an alternative job/file view (mylist tree view).
- Added support for postgre database.
- Updated the database definition and included it in jar.
- Added support for import and export of data. (An anidb mylist export template will be added asap.)
- Added 'Edit Folder Path' to job menu.
- Fixed: infinite loop when 'Waiting/Add' and 'Add to mylist' unchecked thx to egg.
- Change: switching between 'Renaming' and 'Moving' @ 'Rules' does now 'Apply'.
1.15b 16.12.2005
- Fixed browser shutdown on close/reload when running as applet.
- Broke http login
- Fixed http login
1.15a 07.12.2005
- Fixed http dl.
- Fixed ep parser.
1.15 09.11.2005
- Removed 'E' in test. Added regexp test to 'P' (file path). Extensions can be tested here now.
- Added test 'I' (Is defined). Checks whether a tag is defined or not. (E.g. I(%eng).)
- Fixed job table bug when sorting is used.
- Added save dialog on shutdown.
- Added 'log to file' option.
- Added support for //-comments in rules.
- Removed 'offline mode' check box. And some other changes in the gui.
- Added support for gzip (parser was broken).
- Fixed some bugs thx to egg and neginegi.
1.14 30.10.2005
- Cleanup. A lot of internal changes (in job handling / html parsing / data structures).
- Added support for private/local mysql database.
- Added support for path 'P', extension 'E' and genre 'N' in tests. Former 'E' (english title) is now included in 'A'.
- Added support for ELSE IF and RETURN in scripts.
- Added coloring, sorting, aid and gid columns, in job table.
- Added new file info frame, html style.
- Added Pause, Restore name, Rehash, Identify, Add to mylist, Set Finished, Set Folder to job popup menu.
- Changes in debug window.
1.13 26.09.2005
- Change in Rule system. Scripting. Textfield instead of table.
- Fixed two bugs in parsing code thx to egg.
- Fixed padding for specials thx to egg.
1.12 24.09.2005
- Added extra '0' padding in epnr when an anime serie got more than 99 episodes.
Will only work when total num of eps is known.
- Added support for dub language (D) and sub language (L) in tests.
- Added support for NOT (!) in tests.
- Added tags %kan = Jap. Kanji Title and %eng = English Title. (If null then %ann is used.)
- Added support for hentai (needs to be enabled in profile: http://anidb.info/perl-bin/animedb.pl?show=profile).
- Fixed some minor bugs.
1.11 22.09.2005
- Fixed bug in rule system: Test 'A' did not work.
- Fixed some minor bugs thx to hrm.
- Added combobox 'Renaming' for selection of renaming mode.
- Change in file handler: Will not try to add files that are locked (used by another process).
1.10 15.09.2005
- Fixed bug where Job is not set to Finished (when rename/moving is enabled but not needed).
- Fixed parsing bug. (Movies has parts, not episodes.)
- Fixed minor gui bugs.
- Added slider for delay between datagrams sent to server (3-10 sec).
- Added updating of progress bar when checking crc (after move).
- Added updating of second progress bar (total progress).
1.09 09.09.2005
- Fixed rename bug when group is "raw/unknown" (gid=0). These are now just called "unknown".
- Added possibility to save options.
- Added new rule system: rename and move files based on file info.
- Significant changes in gui and underlying system.
- File lists replaced with one table.
- Rename option panel replaced with Rules tab.
- Start and Stop buttons replaced with toggle buttons for hasher thread and communication thread.
- Added timeout slider for UDP communication (20-60 sec).
- Added "Hash Dirs", "Browser Path" and "My Database" text fields.
- Added Wiki button. (Works only on Windows systems, unless browser path is defined.)
1.08 05.07.2005
- Updated mylist file states.
- Updated file info parser (renamer was broken).
1.07 12.06.2005
- Updated the second progress bar.
- Changed comm. thread sleeping routine.
- Changed file info dialog to a text dialog.
- Added Tiger Tree Hash.
- Added possibility to choose each hash type.
- Added debug tab.
- Made 1.4.2 comp again thx to gyrojoe.
1.06 29.05.2005
- Changed the way files are hashed and added to mylist. This is now done concurrent.
- Changes in the status and logging system.
- Fixed some minor bugs.
1.05 14.05.2005
- Added custom renaming of files thx to ExElNeT.
- Added some more checking on username and password.
- Changes in option tab.
1.04 11.05.2005
- Added extra file information thx to ExElNeT. Double click rows in 'Finished Files' to see.
- Added offline mode
- Fixed two bugs in file rename code. thx to ExElNeT and visnu
1.03 19.02.2005
- Added extensive hashing. MD5, SHA-1 and CRC32
- Changes in the error handler.
- Bugfix: Applet crash with Opera and Firefox
1.02 04.02.2005
- Added connection options.
- Added connection check.
1.01 30.01.2005
- New layout, options in own tab.
- Added "Source" and "Other" string for AniDB file info.
- Added possibility to save the log.
- Added illegal character replacement customization.
- Added recursive directory search.
- Added new filehandler.
- Bugfix in AniDBConnection.
1.00 23.01.2005
- First version.