WebAOM: Difference between revisions

From AniDB
Jump to navigation Jump to search
(1.10)
 
(62 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{TOCright}}
{{TOCright}}
<b>Author:</b> [[User:epoximator|epoximator]]<br>
<b>OS:</b> Java VM<br>
<b>Main Features:</b>
:* ed2k, crc32, md5, sha1, tth hashing<br>
:* file add to [[mylist]]<br>
:* custom file renaming and moving<br>
<b>Current Version hosted by AniDB:</b>
:* WebAOM v1.08 (beta) [http://www.anidb.net/client/webaom.htm Applet] | [http://www.anidb.net/client/webaom.jar JAR] | [http://www.anidb.net/client/webaom.jnlp Webstart]
<b>Current Version hosted by epoximator:</b>
:* WebAOM v1.10 (beta) [http://www.stud.ntnu.no/~jovetlea/webaom/index.htm Applet] | [http://www.stud.ntnu.no/~jovetlea/webaom/webaom.jar JAR] | [http://www.stud.ntnu.no/~jovetlea/webaom/webaom.jnlp Webstart]
<br>


== Introduction ==
'''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 [[AOM|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 Definition|UDP API]] and is therefore limited.
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 [[AOM|Anidb-O-Matic]]. The name may be inaccurate/misleading since it does not replace AOM in any way. It is based on the [http://www.anidb.net/client/udp-api.html UDP-API] and is therefore limited.


All questions, feature requests and bug reports can be [http://www.anidb.net/forum/privmsg.php?mode=post&u=2555 pm'ed] to [[User:epoximator|epoximator]].
All questions, feature requests and bug reports can be post in the [[http://anidb.net/perl-bin/animedb.pl?show=threads&id=17 AniDB Forum > Other Clients]] forum.


== Screenshots ==
{{:WebAOM/Header}}
<gallery>
 
image:Webaom01.png|Options
== HOWTO Step by step ==
image:Webaom02.png|Log
'''Register an AniDB account'''
</gallery>
: WebAOM is of no use without an AniDB account. [[AniDB:Sign_up|Sign up]].
 
'''Make sure you've got a jre that supports swing'''
: http://www.java.com
 
'''Start WebAOM as applet or application'''
: It might be more easy and convenient to start it as an applet, but I personally prefer the application. Use the jnlp link if you want to be sure to have the latest version of the application. You might want to try Ame if you have trouble with Java or don't want to install it. It covers the basic features of WebAOM, but is only for MS Windows and more buggy.
 
'''Configure automatic renaming/moving''' (optional)
:* Write the rules you want at ''Rules/Renaming/Moving'' or uncomment the default rule. Be sure to click ''Apply!'' when done.
:* You most likely want to save your options after this. In that case click ''Save Opt''.
:* [[WebAOM#Move.2Frename_system|How to write rules.]]
 
'''Select the files you want to process'''
:* By clicking ''Files...''
:* By clicking ''Folders...''
:* By writing the path to a directory in the ''Options/Other/Hash Dirs'' field.
:* By dragging and dropping files into the ''Job'' tab.
: You will see the files you selected in the ''Job'' tab.
 
'''Log on to the AniDB UDP API service'''
: By clicking ''Login'' and providing your username and password. Encryption is optional and not really recommended. You'll need to set the API password in your profile options if you still want to use it.
 
'''Click "Start" and go watch some anime'''
: Click ''Start'' and WebAOM will for each file:
:* Hash it.
:* Use the hash sum to fetch meta data from AniDB.
:* Add it to your MyList.
:* Use the meta data to move and rename it.


== Documentation ==
== Documentation ==
===Buttons===
=== General ===
:* Wiki : Link to this page.
*To start as application: <tt>javaw.exe -jar webaom.jar</tt>
:* Files... : Add specific files for hashing. (Only those with extensions specified in "Wanted File Extensions" are added.)
**With text anti-aliasing: <tt>javaw.exe -Dswing.aatext=true -jar webaom.jar</tt>
:* Folders... : Add folder(s) with all including files for hashing.
=== Buttons ===
:* Toggle Hasher : Start/stop hashing operation (and moving).
* Help! : Open this wiki page.
:* Toggle Adder : Start/stop adding (communication thread).
* Files... : Add specific files for hashing. (Only those with extensions specified in "Wanted File Extensions" are added.)
:* Save Log : Save the Log to disk (in HTML format).
* Folders... : Add folder(s) with all including files for hashing.
:* Save Options: Save options to "%home/.webaom".
* Start/Stop : Start/stop hashing and moving (disk IO thread).
:* Ping AniDB : Check reachability to AniDB. (UDP server that is.)
* Login/Log out: Log on/off the AniDB UDP Service (net IO thread).
* Save opt: Save options to "%home/.webaom".
* Export : Export all the loaded data to a file. (The filter settings in ''Alt'' applies!)
* Import: Import data from a file.
* Ping AniDB : Check reachability to the AniDB UDP server.


===Tabs===
=== Tabs ===
:* Rules: Definitions and Rules for renaming and moving.
* Rules: Rule system. See [[WebAOM#Move/rename_system|Move/Rename system]].
:* Options : All options.
* Options : All options.
:* Jobs: Table of files/work.
* Jobs: Table of files/work.
:* Log : The log. What's going on. History.
* Alt: Alternative treetable view of your files. Grouped by anime, episode/group/folder, file.
:* Hash : All selected checksums are printed here.
* Log : History log. Press DEL to clean.
:* Info : Some info about the client. Changelog.
* Hash : All selected checksums are printed here.
:* Debug : Low level communication and exceptions are printed here.
* Info : Some info about the client.
* Debug : Low level communication and exceptions are printed here.
* Chii Emu: Write [[Chii]] commands here. (Also possible to use UDP API commands directly.)


===Options===
=== Options ===
:* Connection
* Connection
::*Offline Mode : No communication with AniDB. Adding and renaming are disabled if checked.
**AniDB Host : URL to AniDB can be set here.
::*AniDB Host : URL to AniDB can be set here.
**Remote Port : Remote Port 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.
::*Local Port : Local Port can be set here. Necessary if the default port is used by another application on your system.
**Keep-Alive : Keep the connection to the server alive by pinging regularly. Check this if you're behind a nat router.
::*Delay (sec) : Delay between each datagram sent to server. 3 secounds is minimum. Should be set higher if connection is poor or if much work is queued.
**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.
**Timeout (sec) : Timeout on receiving reply from AniDB.
:* File Options
* File Options
::* Add files to mylist.
** Add files to MyList.
::* [[Filestates]]
** [[Filestates]]
::* [[Mylist:source]]
** [[mylist:source]]
::* [[Mylist:storage]]
** [[mylist:storage]]
::* [[Mylist:comment]]
** [[mylist:comment]]
::* [[Mylist:watched]]
** [[mylist:watched]]
:* Other
* Other
::* Hash Dirs : Default directories to hash. Checked every time Hasher starts. Directories are separated with ";".
** Hash Dirs : Default directories to hash. Checked every time the hasher thread 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.
** Browser Path : Set path to internet browser manually here. (For Linux users.)
::* My Database : For later versions.
** My Database : JDBC URL to local / private database. See [[WebAOM#Local_database|Local Database]].
::* [http://en.wikipedia.org/wiki/Hash_function Hash functions] : [http://en.wikipedia.org/wiki/Ed2k_(hash) ED2K] [http://en.wikipedia.org/wiki/CRC32 CRC32] [http://en.wikipedia.org/wiki/MD5 MD5] [http://en.wikipedia.org/wiki/SHA1 SHA1] [http://en.wikipedia.org/wiki/Tiger-Tree_Hash TTH]
** Log File : Set path to log file (html). Press enter to enable.
:* Wanted File Extensions : Default are avi, ogm, mkv.
** Store password : Allow WebAOM to store your password (and API Pass) on disk. It will not be stored in cleartext.
:* Rename Options (removed in 1.09)
** Load DB on startup : Connect and load the database on startup.
::* Combobox for custom renaming. (More schemes can be added on request.)
** Auto log : Start logging to disk automatically.
::* Rename files own style : Uses selected scheme in combobox. Default: {group short name}_{anime name}_{episode #}_{crc32}{file version if greater than 1}.{file extension}
** [[Wikipedia:Hash function|Hash functions]] : [[Wikipedia:Ed2k (hash)|ED2K]] [[Wikipedia:CRC32|CRC32]] [[Wikipedia:MD5|MD5]] [[Wikipedia:SHA1|SHA1]] [[Wikipedia:Tiger-Tree Hash|TTH]]
::* Rename files AniDB style : Uses default AniDB scheme: {anime name} - {episode #} - {episode name} - {group short name}.{file extension}
* Wanted File Extensions : Default are avi, ogm, mkv, mp4.
::* Replace illegal characters : Replaces illegal characters defined in the table beneath. Also used to change ' ' to '_'.
* Rules (in own tab)
::* Hashes in uppercase : Uppercase hashes in filename. Only possible when own style is selected.
** Renaming : Show rules for renaming.
===Job Menu (Popup)===
** Moving : Show rules for moving.
:* Show Info : Show info about a file/job. (double click)
** Apply : Apply the current rules. Don't forget to click this after you have changed the rules.
:* Watch Now : Watch with default media player. Windows only. (alt + double click)
** Replace Table : String mapping table. DELETE, CTRL UP/DOWN keys are supported.
:* Explore Folder : Open parent folder with Explorer. Windows only.
 
:* Apply Rules : If the rules are changed after a job is finished, they can be applied again manually.
=== Job Menu (Popup) ===
:* Update Status : For updating file info. For later versions.
The pop-up 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.
:* Remove (DB too) : Remove file info from list and database. For later versions.
* 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 file manually if you forgot to check 'Add files to MyList'.
* Remove from MyList : Remove file from 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.
* Edit File Name : Edit the file name directly.
* Parse with avinfo : Extract metadata (codec, bitrate, etc.) from the file. The dll from [[Avdump]] is required. Put it somewhere it will be found, like <tt>C:\Windows</tt>.
* Set fid (force) : Set the fid forcefully. For self edited and corrupted files. Not recommended.
* Remove from DB : Remove job from local database. This will _not_ remove the file from your MyList. The job will be re-added if used twice.
 
=== Key mappings ===
In ''Job'' and ''Alt'' view:
{|align="center" style="border: 1px solid #aaaaaa; border-collapse: collapse; background: #f9f9f9; font-size: smaller; width: 80%; text-align: center;"
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Key
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Operation
|-
|Enter/Space
|Open file info window.
|-
|A
|Open related anime page in browser.
|-
|M
|Open related MyList page in browser.
|-
|N
|Open related MyList page (detailed) in browser.
|-
|G
|Open related group page in browser.
|-
|F
|Open related file page in browser.
|-
|E
|Open related episode page in browser.
|-
|K
|Open anime related ed2k export page in browser.
|-
|W
|Watch file with default media player (windows only).
|-
|X
|Explore folder (windows only).
|-
|C
|Parse selected file with [[Avdump]] (in cmd window) and then call F.
|-
|P
|Pause/unpause.
|-
|S
|Apply rules.
|-
|I
|Identify file.
|-
|F9
|Reset WebAOM. (Soft restart)
|}
 
 
In ''Alt'' view only:
{|align="center" style="border: 1px solid #aaaaaa; border-collapse: collapse; background: #f9f9f9; font-size: smaller; width: 80%; text-align: center;"
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Key
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Operation
|-
|F5
|Refresh view.
|-
|R
|Rebuild tree and refresh view.
|-
|D
|Dump tree to ''Debug''.
|-
|Right
|Expand node.
|-
|Left
|Collapse node.
|}


== Move/rename system ==
== Move/rename system ==
A new feature in 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.


===Definitions===
A new feature from 1.09 is moving and renaming of files based on rules. This is implemented to ease administration of your anime collection. 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.  
First step is to define at least one directory, one rename schema and one move schema. If you are using a non Windows system, remove or deselect unneeded entries in the Illegal Characters table.
 
:*Directories
Notice that the system is under development. Feel free to request changes / comment.
:::Define main partitions for example.
 
:*Rename schema
=== Scripting ===
:::Schema for renaming. Example: ren01 = "%ann - %enr [%crc]%ver_"
For renaming and moving files WebAOM needs schemas. A schema is just a string with tags, where each tag corresponds to file/anime data. Ex: <tt>"%ann - %enr [%crc]"</tt>. (See [[WebAOM#Tags]]) 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:
:*Moving schema
 
:::Schema for moving. Example: mov01 = "\%year\%ann - [%eps][%grp]\"
IF A(Naruto) DO FAIL //Do not rename file if it is Naruto
:*Illegal characters
DO ADD '%eng (%ann) - %enr - %epn ' //Add the base, same for all files
:::For replacement of illegal characters. Applies only to %ann, %epn and %grp. Can be used to replace strings too. Examples: Anime-MX -> a-mx, Naruto -> NARUTO.
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 '%yea\%ann [%eps]'
IF G(!unknown) DO ADD '[%grp]\'
ELSE DO ADD '\'


===Rules===
'''Syntax for each line in a script:'''
There are two rule tables; one for renaming and one for moving. Their behavior are exactly the same. Each row in the tables consist of a test and a definition. The first row has the highest priority.
Ex:
<pre>
  IF              THEN
#1 T(TV,OVA)      ren01
#2 REST            reb02


Which means:
<tt>[[ELSE] IF {test}/ELSE] DO ADD {part}/SET {part}/FAIL/FINISH [{last part}]/RETURN {complete schema}</tt>


if type="TV" OR type="OVA"
  then use ren01 schema
else
  then use ren02 schema
</pre>
<b>Possible tests</b><br>
:* A = Anime (string) [*]
:* G = Group (string) [*]
:* Q = Quality (string) [unknown, very high, high, med, low, very low, corrupted, eyecancer]
:* S = Source (string) [unknown, camcorder, TV, DTV, VHS, VCD, SVCD, LD, DVD, HKDVD, www]
:* T = Type (string) [unknown, TV, OVA, Movie, Other, web]
:* Y = Year (int) [#]
As you can see, all tests except year is done on strings. (The information you test on are what you see in the anidb web pages when not logged in. -If something are added or changed on the site the client will not require an update. -Kanji is not supported, nor is hentai (would require a login).) The test supports no wildcards, but lists [A,B,C,D](for strings and numbers) and ranges [0-1999,2000-3000](only numbers).


It is possible to use IGNORE where you put schema. Which means do not rename or move. (Never define a schema called IGNORE/ignore.)
{|align="center" style="border: 1px solid #aaaaaa; border-collapse: collapse; background: #f9f9f9; font-size: smaller; width: 80%; text-align: center;"
<pre>
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Element
#1 Y(0-1999);T(Movie);S(DVD) ren01
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Meaning
#2 Y(2000,2002);T(TV);G(AonE) IGNORE
|-
#3 A(Naruto);S(DVD) ren03
|ADD || +=
|-
|SET ||  = (assign)
|-
|FAIL || return null
|-
|FINISH || return result (possible to add last part, not needed as last line)
|-
|RETURN || return complete schema (for exceptions)
|-
|, || or
|-
|; || and
|-
|! || not
|-
|- || to (range)
|}


Which means:


if (0>=year>=1999) AND Type="Movie" AND Source="DVD"
'''Possible tests:'''
  then use ren01 schema
else if (year=2000 OR year=2002) AND Type="TV" AND Group="AonE"
  then do not rename
else if Anime="Naruto" AND Source="DVD"
  then use ren03 schema
</pre>


===Tags===
{|align="center" style="border: 1px solid #aaaaaa; border-collapse: collapse; background: #f9f9f9; font-size: smaller; width: 80%; text-align: center;"
<pre>
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Code
%ann Anime name
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Type
%epn Episode name
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Meaning
%enr Episode number
|-
%ed2k
|A
%md5
|name/id
%sha
|Anime id or name; romaji, kanji and english, but not synonyms and short names
%crc
|-
%ver Version string
|G
%cen Censored string
|name/id
%dub Dub language
|Group id, name, short name or 'unknown'
%sub Sub language
|-
%grp Group short name
|E
%qual Quality
|text
%src Source
|Episode number
%res Resolution
|-
%vid Video codec
|X
%aud Audio codec
|text
%year
|Total number of episodes
%eps Total number of episodes
|-
%type
|Q
%fid
|text
%aid
|Quality [unknown, very high, high, med, low, very low, corrupted, eyecancer]
%eid
|-
%gid
|R
</pre>
|text
|Rip source [unknown, camcorder, TV, DTV, VHS, VCD, SVCD, LD, DVD, HKDVD, www]
|-
|T
|text
|Type [unknown, TV, OVA, Movie, Other, web]
|-
|Y
|number
|Year
|-
|D
|text
|Dub language (one of the audio tracks) [japanese, english, ...]
|-
|S
|text
|Sub language (one of the subtitle tracks) [japanese, english, ...]
|-
|P
|text
|File path ([http://www.regular-expressions.info/reference.html regexp])
|-
|N
|text
|{{AniDBLink|genren|Category}} (one of)
|-
|I
|text
|Tag is defined. Do not use %, i.e. I(eng) [eng, kan, rom, ...]
|-
|C
|text
|Codec (one of the audio/video tracks) [H264, XviD, MP3 CBR, ...]
|-
|U
|text
|Unequal tags. <tt>U(eng:ann)</tt> checks that both <tt>%eng</tt> and <tt>%ann</tt> are defined and unequal.
|-
|L
|text
|Equal tags. <tt>L(eng:ann)</tt> checks that both <tt>%eng</tt> and <tt>%ann</tt> are defined and equal.
|-
|Z
|text
|Equal tags with [http://www.regular-expressions.info/reference.html regexp]. Z(tag:[http://www.regular-expressions.info/reference.html regexp])
|}
 
=== Tags ===
Changed to three-letters-only in 1.18!
 
{|align="center" style="border: 1px solid #aaaaaa; border-collapse: collapse; background: #f9f9f9; font-size: smaller; width: 80%; text-align: center;"
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Tag
! style="border: 1px solid #aaaaaa; font-size: 120%; background: #f2f2f2;" | Replaced with
|-
|%ann || Anime name; romaji
|-
|%kan || Anime name; kanji
|-
|%eng || Anime name; english
|-
|%epn || Episode name; english
|-
|%epk || Episode name; kanji
|-
|%epr || Episode name; romaji
|-
|%enr || Episode number
|-
|%grp || Group short name
|-
|%ed2 / %ED2 || ed2k sum (lower/upper)
|-
|%md5 / %MD5 || md5 sum (lower/upper)
|-
|%sha / %SHA || sha1 sum (lower/upper)
|-
|%crc / %CRC || crc sum (lower/upper)
|-
|%ver || Version string
|-
|%inv || Invalid crc string
|-
|%cen || Censored string
|-
|%dub || Dub language (tracks separated with ')
|-
|%sub || Sub language (tracks separated with ')
|-
|%vid || Video codec (tracks separated with ')
|-
|%aud || Audio codec (tracks separated with ')
|-
|%qua || Quality
|-
|%src || Source
|-
|%res || Resolution
|-
|%yea || Year
|-
|%eps || Total number of episodes
|-
|%typ || Type [unknown, TV, OVA, Movie, TV Special, 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 [http://www.postgresql.org/download/ postgresql] or [http://dev.mysql.com/downloads/mysql/5.0.html mysql]. Be sure to select unicode support.
* Download the JDBC Driver for [http://jdbc.postgresql.org/download.html postgresql] or [http://dev.mysql.com/downloads/connector/j/3.1.html 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 ==
== Changelog ==
<pre>
<div style="height: 280px; overflow: auto; padding: 3px; border:1px solid #AAAAAA; font-size: smaller">
1.19n 2009.10.12
*Fix of username length & character restrictions
 
1.19m 2009.09.29:
*Fixed the %yen tag (Was returning yea at a part).
 
1.19m 2009.09.10:
*WebAOM could only handle 999 files before it started doing bad things; updated limit to 99,999 files.
 
1.19m 2009.09.02:
*Temp Fix for Incorrect renames during dropped requests [ommina].
*Fixed Export/Import Function so they are now actually able to import data.
*Added test L(tag:tag) which returns true if both tags are defined and equal.
*Added test Z(tag:regexp) which returns true if tag is defined and regular expression is true.
*Added tag %yen which is set to end year of anime.
*Made it so if Extension List is empty, all files are processed.
*Undocumented "X(text)", "ASSUME [SPECIAL] num", "TRUNCATE<num, tag>", %lep tests/tags added to xml help.
 
1.19l 02.11.2007:
*Changed A() from exact match to regexp.
*Fixed %cen tag.
*Fixed links.
 
1.19k 27.10.2007:
*Fixed I() so it works for %cen too.
 
1.19j 29.09.2007:
*Fixed jtb.size @ db (int->bigint).
*anidb.info -> anidb.net
 
1.19i 04.07.2007:
*Added test X for number of episodes. "IF X(1)" -> true if total num = 1.
*Added possibility to use relative path in move rules -> DO ADD '.\' (on windows)
 
1.19h 16.07.2007:
*Fixed applet version.
 
1.19g 15.07.2007:
*Fixed NullPointerException @ RecDir (introduced in d) thx to s2d4theworld.
*Added support for 64 bit file sizes.
*Added LookAndFeel switch.
*Removed rules dropdown. Controlled in the rules tab.
 
1.19f 19.05.2007:
*Fixed ArrayIndexOutOfBoundsException when anime has only special eps.
*Fixed file moving issue with absolute path on Linux systems.
*Added correction of file extension.
 
1.19e 17.05.2007:
*Added test U(tag:tag) which returns true if both tags are defined and unequal.
 
1.19d 21.04.2007:
*Fixed ArrayIndexOutOfBoundsException when epno is 0.
*Improved/fixed applet behavior.
*Ignore widows network paths.
 
1.19c 24.03.2007:
*Added rule help menu. Right click in text editor.
 
1.19b 10.02.2007:
*Fixed default job columns.
 
1.19 20.11.2006:
*Fixed 'year' parsing exception.
*Added 'ASSUME [SPECIAL] {int}' rule. For padding epno when total is unknown (always true for specials).
*Fixed () issue in tests, for example "IF E(^(Complete Movie|Part \d of \d|OVA)$) DO ADD '%epn '"
*Added English episode name to 'E' test.
*Fixed 'storage field loaded as source field on startup.' (MyList Options)
*Fixed 'I' test (defined) for 'ver', meaning true if greater than 1.
*Changed 'I' test "syntax"; I(%eng) -> I(eng).
*Fixed and changed truncation; TRUNCATE<{int len},{str end}>. (TRUNCATE<64,...>)
*Fixed db update for postgresql users. To fix 'borked' dbs:
**ALTER TABLE ftb ADD COLUMN len INTEGER NOT NULL DEFAULT 0;
*Added column 'len' to 'Jobs'. (Length in sec)
*Added regexp test to E(pisode) test.
*Added 'TRUNCATE {int max len}' to rules. Will truncate file name if necessary.
*Fixed (removed) the extra k printed in ed2k hash @ info window.
*Fixed stored order of columns in 'Jobs'.
*Added two columns in 'Job' list; mds, mda (missing data flags).
*Added job-list-column-customization to options file.
*Added option 'Auto save'; save options to disk without asking.
*Fixed some minor bugs.
*Some gui changes.
 
1.18b 21.07.2006:
*Fixed 'Show Info' bug (thx to TechnoMage).
*Back to 1.4 compliance level.
*Added more keyboard mappings (and changed E to X).
 
1.18 14.07.2006:
*Fixed bug in !mystats (thx to GuntherDW).
*Added more tool tips and changed some text to make WebAOM more understandable.
*Added 'Cancel' button to the 'The options has changed' dialogue.
*Fixed Rules->Rename/Moving-radio-buttons bug (thx to Kei-kun).
*Fixed joint eps bug; java.lang.NumberFormatException.
*Added drop and ctrl-v support to 'Jobs' table.
*Change: DB update; etb.number width, for joint eps.
*Added selectable columns in 'Job' view. (Right click table header.)
*Change: Job-filter-combo-box -> check boxes. (suggested by weedy)
*Change: Keep-alive is now enabled also when nat is not detected (every 30 min).
*Fixed bug in keep-alive code.
*Fixed minor UI update bug in 'Alt'.
*Fixed sorting bug in 'Jobs' when changing filter.
*Added new job colours; red -> corrupted, grey -> missing (not found).
*Changed options file encoding to utf8.
*Only Java 1.5 support from now.
*Massive internal changes.
*Added support for avinfo.dll ([[Avdump]], put the dll somewhere it will be found).
*Improved support for large font sizes.
**Fixed table row height.
**Fixed font in pop-up menu.
**To change the 'Log' font; press DELETE, edit header, press ok.
**To customize the file info page; extract 'file.htm' from the jar, edit, save as '.webaom.htm' in your home folder.
*Added filtering in 'Jobs' view.
*Added selectable titles in 'Alt' view (romaji,kanji,english).
*Minor UI changes.
 
1.17 07.05.2006:
*Added 'Edit File Name' to pop up menu.
*Some fixes/changes in the com core.
*Minor changes for new lang/stream system.
*Added 'Path regexp' to options file.
*Changed keep-alive timer to 3 min.
*Fixed NullPointerEx on 'Add to MyList' when file is unknown, thx to egg.
*Added more debug output for 'Alt' view.
*Added 'Load db on startup' and 'Auto log' options.
*Hidden feature: F9 resets application.
*Updated 'Alt' view. V3: path exclude, improved %, added M(issing) col, secondary sort
*Added password (and apipass) storage option.
*Added 'Alt' key mappings to 'Jobs' too.
*Code cleanup.
*Added 'Remove from MyList' to job menu.
*Added a bunch of key mappings to 'Alt'; afgmwe, left, right, and enter.
*Added key mapping q to 'File Info' window (close).
*Updated 'Alt' view. V2: size column, FNF filter, 3 selectable structures;
**Anime-File, Anime-Episode-File, Anime-Group-File, Anime-Folder-File
*Added test for codec (C). Tests both audio and video.
*Change: it's now possible to set job 'Finished' even if the file is not found.
*Added check box for connection keep-alive.
*Added 'Set fid (force)' to job menu. For self edited files. (Hashing is still required.)
*Change: 3 timeouts -> lockdown, new: unlocks after 15 min.
*Fixed minor bug in pinger when port is out of range.
*Added support for encrypted and compressed communication.
*Fixed minor epno padding bug.
*Fixed "Data too long for column 'audio' at row 1".
*Fixed (hopefully) out of mem error when adding large folders.
*Change: Login Dialogue doesn't show up at startup any more.
*Minor changes in GUI.
 
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 dialogue on shutdown.
*Added 'log to file' option.
*Added support for //-comments in rules.
*Removed 'off-line 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 series 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: {{AniDBLink|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
1.09 09.09.2005
-Fixed rename bug when group is "raw/unknown" (gid=0). These are now just called "unknown".
*Fixed rename bug when group is "raw/unknown" (gid=0). These are now just called "unknown".
-Added possibility to save options.
*Added possibility to save options.
-Added new rule system: rename and move files based on file info.
*Added new rule system: rename and move files based on file info.
-Significant changes in gui and underlying system.
*Significant changes in gui and underlying system.
  -File lists replaced with one table.  
*File lists replaced with one table.  
  -Rename option panel replaced with Rules tab.  
*Rename option panel replaced with Rules tab.  
  -Start and Stop buttons replaced with toggle buttons for hasher thread and communication thread.
*Start and Stop buttons replaced with toggle buttons for hasher thread and communication thread.
-Added timeout slider for UDP communication (20-60 sec).
*Added timeout slider for UDP communication (20-60 sec).
-Added "Hash Dirs", "Browser Path" and "My Database" text fields.
*Added "Hash Dirs", "Browser Path" and "My Database" text fields.
-Added Wiki button. (Works only on Windows systems, unless browser path is defined.)
*Added Wiki button. (Works only on Windows systems, unless browser path is defined.)
 
1.08 05.07.2005
1.08 05.07.2005
-Updated mylist file states.
*Updated MyList file states.
-Updated file info parser (renamer was broken).
*Updated file info parser (renamer was broken).
 
1.07 12.06.2005
1.07 12.06.2005
-Updated the second progress bar.
*Updated the second progress bar.
-Changed comm. thread sleeping routine.
*Changed comm. thread sleeping routine.
-Changed file info dialog to a text dialog.
*Changed file info dialogue to a text dialogue.
-Added Tiger Tree Hash.
*Added Tiger Tree Hash.
-Added possibility to choose each hash type.
*Added possibility to choose each hash type.
-Added debug tab.
*Added debug tab.
-Made 1.4.2 comp again thx to gyrojoe.
*Made 1.4.2 comp again thx to gyrojoe.
 
1.06 29.05.2005
1.06 29.05.2005
-Changed the way files are hashed and added to mylist. This is now done concurrent.
*Changed the way files are hashed and added to MyList. This is now done concurrent.
-Changes in the status and logging system.  
*Changes in the status and logging system.  
-Fixed some minor bugs.  
*Fixed some minor bugs.  
 
1.05 14.05.2005
1.05 14.05.2005
-Added custom renaming of files thx to ExElNeT.
*Added custom renaming of files thx to ExElNeT.
-Added some more checking on username and password.
*Added some more checking on username and password.
-Changes in option tab.
*Changes in option tab.
 
1.04 11.05.2005
1.04 11.05.2005
-Added extra file information thx to ExElNeT. Double click rows in 'Finished Files' to see.
*Added extra file information thx to ExElNeT. Double click rows in 'Finished Files' to see.
-Added offline mode
*Added offline mode
-Fixed two bugs in file rename code. thx to ExElNeT and visnu
*Fixed two bugs in file rename code. thx to ExElNeT and visnu
 
1.03 19.02.2005
1.03 19.02.2005
-Added extensive hashing. MD5, SHA-1 and CRC32
*Added extensive hashing. MD5, SHA-1 and CRC32
-Changes in the error handler.
*Changes in the error handler.
-Bugfix: Applet crash with Opera and Firefox
*Bugfix: Applet crash with Opera and Firefox
 
1.02 04.02.2005
1.02 04.02.2005
-Added connection options.
*Added connection options.
-Added connection check.
*Added connection check.
 
1.01 30.01.2005
1.01 30.01.2005
-New layout, options in own tab.
*New layout, options in own tab.
-Added "Source" and "Other" string for AniDB file info.
*Added "Source" and "Other" string for AniDB file info.
-Added possibility to save the log.
*Added possibility to save the log.
-Added illegal character replacement customization.
*Added illegal character replacement customization.
-Added recursive directory search.
*Added recursive directory search.
-Added new filehandler.
*Added new filehandler.
-Bugfix in AniDBConnection.
*Bugfix in AniDBConnection.
 
1.00 23.01.2005
1.00 23.01.2005
-First version.
*First version.
</pre>
</div>


[[Category:Anidb Clients]]
[[Category:AniDB Clients]]

Latest revision as of 23:13, 1 July 2011

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 post in the [AniDB Forum > Other Clients] forum.

Author: epoximator

OS: Java VM (Sun)

Main Features:

  • ed2k, CRC32, MD5, SHA-1, TTH hashing
  • file add to MyList
  • custom file renaming and moving

Latest version: 2009-10-12

Screenshots

HOWTO Step by step

Register an AniDB account

WebAOM is of no use without an AniDB account. Sign up.

Make sure you've got a jre that supports swing

http://www.java.com

Start WebAOM as applet or application

It might be more easy and convenient to start it as an applet, but I personally prefer the application. Use the jnlp link if you want to be sure to have the latest version of the application. You might want to try Ame if you have trouble with Java or don't want to install it. It covers the basic features of WebAOM, but is only for MS Windows and more buggy.

Configure automatic renaming/moving (optional)

  • Write the rules you want at Rules/Renaming/Moving or uncomment the default rule. Be sure to click Apply! when done.
  • You most likely want to save your options after this. In that case click Save Opt.
  • How to write rules.

Select the files you want to process

  • By clicking Files...
  • By clicking Folders...
  • By writing the path to a directory in the Options/Other/Hash Dirs field.
  • By dragging and dropping files into the Job tab.
You will see the files you selected in the Job tab.

Log on to the AniDB UDP API service

By clicking Login and providing your username and password. Encryption is optional and not really recommended. You'll need to set the API password in your profile options if you still want to use it.

Click "Start" and go watch some anime

Click Start and WebAOM will for each file:
  • Hash it.
  • Use the hash sum to fetch meta data from AniDB.
  • Add it to your MyList.
  • Use the meta data to move and rename it.

Documentation

General

  • To start as application: javaw.exe -jar webaom.jar
    • With text anti-aliasing: javaw.exe -Dswing.aatext=true -jar webaom.jar

Buttons

  • Help! : Open this wiki 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.
  • Start/Stop : Start/stop hashing and moving (disk IO thread).
  • Login/Log out: Log on/off the AniDB UDP Service (net IO thread).
  • Save opt: Save options to "%home/.webaom".
  • Export : Export all the loaded data to a file. (The filter settings in Alt applies!)
  • Import: Import data from a file.
  • Ping AniDB : Check reachability to the AniDB UDP server.

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/group/folder, file.
  • Log : History log. Press DEL to clean.
  • Hash : All selected checksums are printed here.
  • Info : Some info about the client.
  • Debug : Low level communication and exceptions are printed here.
  • Chii Emu: Write Chii commands here. (Also possible to use UDP API commands directly.)

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.
    • Keep-Alive : Keep the connection to the server alive by pinging regularly. Check this if you're behind a nat router.
    • 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
  • Other
    • Hash Dirs : Default directories to hash. Checked every time the hasher thread 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. See Local Database.
    • Log File : Set path to log file (html). Press enter to enable.
    • Store password : Allow WebAOM to store your password (and API Pass) on disk. It will not be stored in cleartext.
    • Load DB on startup : Connect and load the database on startup.
    • Auto log : Start logging to disk automatically.
    • 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 are supported.

Job Menu (Popup)

The pop-up 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 file manually if you forgot to check 'Add files to MyList'.
  • Remove from MyList : Remove file from 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.
  • Edit File Name : Edit the file name directly.
  • Parse with avinfo : Extract metadata (codec, bitrate, etc.) from the file. The dll from Avdump is required. Put it somewhere it will be found, like C:\Windows.
  • Set fid (force) : Set the fid forcefully. For self edited and corrupted files. Not recommended.
  • Remove from DB : Remove job from local database. This will _not_ remove the file from your MyList. The job will be re-added if used twice.

Key mappings

In Job and Alt view:

Key Operation
Enter/Space Open file info window.
A Open related anime page in browser.
M Open related MyList page in browser.
N Open related MyList page (detailed) in browser.
G Open related group page in browser.
F Open related file page in browser.
E Open related episode page in browser.
K Open anime related ed2k export page in browser.
W Watch file with default media player (windows only).
X Explore folder (windows only).
C Parse selected file with Avdump (in cmd window) and then call F.
P Pause/unpause.
S Apply rules.
I Identify file.
F9 Reset WebAOM. (Soft restart)


In Alt view only:

Key Operation
F5 Refresh view.
R Rebuild tree and refresh view.
D Dump tree to Debug.
Right Expand node.
Left Collapse node.

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 collection. 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 is just a string with tags, where each tag corresponds to file/anime data. Ex: "%ann - %enr [%crc]". (See WebAOM#Tags) 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 '%yea\%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}


Element Meaning
ADD +=
SET = (assign)
FAIL return null
FINISH return result (possible to add last part, not needed as last line)
RETURN return complete schema (for exceptions)
, or
; and
! not


Possible tests:

Code Type Meaning
A name/id Anime id or name; romaji, kanji and english, but not synonyms and short names
G name/id Group id, name, short name or 'unknown'
E text Episode number
X text Total number of episodes
Q text Quality [unknown, very high, high, med, low, very low, corrupted, eyecancer]
R text Rip source [unknown, camcorder, TV, DTV, VHS, VCD, SVCD, LD, DVD, HKDVD, www]
T text Type [unknown, TV, OVA, Movie, Other, web]
Y number Year
D text Dub language (one of the audio tracks) [japanese, english, ...]
S text Sub language (one of the subtitle tracks) [japanese, english, ...]
P text File path (regexp)
N text Category (one of)
I text Tag is defined. Do not use %, i.e. I(eng) [eng, kan, rom, ...]
C text Codec (one of the audio/video tracks) [H264, XviD, MP3 CBR, ...]
U text Unequal tags. U(eng:ann) checks that both %eng and %ann are defined and unequal.
L text Equal tags. L(eng:ann) checks that both %eng and %ann are defined and equal.
Z text Equal tags with regexp. Z(tag:regexp)

Tags

Changed to three-letters-only in 1.18!

Tag Replaced with
%ann Anime name; romaji
%kan Anime name; kanji
%eng Anime name; english
%epn Episode name; english
%epk Episode name; kanji
%epr Episode name; romaji
%enr Episode number
%grp Group short name
%ed2 / %ED2 ed2k sum (lower/upper)
%md5 / %MD5 md5 sum (lower/upper)
%sha / %SHA sha1 sum (lower/upper)
%crc / %CRC crc sum (lower/upper)
%ver Version string
%inv Invalid crc string
%cen Censored string
%dub Dub language (tracks separated with ')
%sub Sub language (tracks separated with ')
%vid Video codec (tracks separated with ')
%aud Audio codec (tracks separated with ')
%qua Quality
%src Source
%res Resolution
%yea Year
%eps Total number of episodes
%typ Type [unknown, TV, OVA, Movie, TV Special, 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.19n 2009.10.12

  • Fix of username length & character restrictions

1.19m 2009.09.29:

  • Fixed the %yen tag (Was returning yea at a part).

1.19m 2009.09.10:

  • WebAOM could only handle 999 files before it started doing bad things; updated limit to 99,999 files.

1.19m 2009.09.02:

  • Temp Fix for Incorrect renames during dropped requests [ommina].
  • Fixed Export/Import Function so they are now actually able to import data.
  • Added test L(tag:tag) which returns true if both tags are defined and equal.
  • Added test Z(tag:regexp) which returns true if tag is defined and regular expression is true.
  • Added tag %yen which is set to end year of anime.
  • Made it so if Extension List is empty, all files are processed.
  • Undocumented "X(text)", "ASSUME [SPECIAL] num", "TRUNCATE<num, tag>", %lep tests/tags added to xml help.

1.19l 02.11.2007:

  • Changed A() from exact match to regexp.
  • Fixed %cen tag.
  • Fixed links.

1.19k 27.10.2007:

  • Fixed I() so it works for %cen too.

1.19j 29.09.2007:

  • Fixed jtb.size @ db (int->bigint).
  • anidb.info -> anidb.net

1.19i 04.07.2007:

  • Added test X for number of episodes. "IF X(1)" -> true if total num = 1.
  • Added possibility to use relative path in move rules -> DO ADD '.\' (on windows)

1.19h 16.07.2007:

  • Fixed applet version.

1.19g 15.07.2007:

  • Fixed NullPointerException @ RecDir (introduced in d) thx to s2d4theworld.
  • Added support for 64 bit file sizes.
  • Added LookAndFeel switch.
  • Removed rules dropdown. Controlled in the rules tab.

1.19f 19.05.2007:

  • Fixed ArrayIndexOutOfBoundsException when anime has only special eps.
  • Fixed file moving issue with absolute path on Linux systems.
  • Added correction of file extension.

1.19e 17.05.2007:

  • Added test U(tag:tag) which returns true if both tags are defined and unequal.

1.19d 21.04.2007:

  • Fixed ArrayIndexOutOfBoundsException when epno is 0.
  • Improved/fixed applet behavior.
  • Ignore widows network paths.

1.19c 24.03.2007:

  • Added rule help menu. Right click in text editor.

1.19b 10.02.2007:

  • Fixed default job columns.

1.19 20.11.2006:

  • Fixed 'year' parsing exception.
  • Added 'ASSUME [SPECIAL] {int}' rule. For padding epno when total is unknown (always true for specials).
  • Fixed () issue in tests, for example "IF E(^(Complete Movie|Part \d of \d|OVA)$) DO ADD '%epn '"
  • Added English episode name to 'E' test.
  • Fixed 'storage field loaded as source field on startup.' (MyList Options)
  • Fixed 'I' test (defined) for 'ver', meaning true if greater than 1.
  • Changed 'I' test "syntax"; I(%eng) -> I(eng).
  • Fixed and changed truncation; TRUNCATE<{int len},{str end}>. (TRUNCATE<64,...>)
  • Fixed db update for postgresql users. To fix 'borked' dbs:
    • ALTER TABLE ftb ADD COLUMN len INTEGER NOT NULL DEFAULT 0;
  • Added column 'len' to 'Jobs'. (Length in sec)
  • Added regexp test to E(pisode) test.
  • Added 'TRUNCATE {int max len}' to rules. Will truncate file name if necessary.
  • Fixed (removed) the extra k printed in ed2k hash @ info window.
  • Fixed stored order of columns in 'Jobs'.
  • Added two columns in 'Job' list; mds, mda (missing data flags).
  • Added job-list-column-customization to options file.
  • Added option 'Auto save'; save options to disk without asking.
  • Fixed some minor bugs.
  • Some gui changes.

1.18b 21.07.2006:

  • Fixed 'Show Info' bug (thx to TechnoMage).
  • Back to 1.4 compliance level.
  • Added more keyboard mappings (and changed E to X).

1.18 14.07.2006:

  • Fixed bug in !mystats (thx to GuntherDW).
  • Added more tool tips and changed some text to make WebAOM more understandable.
  • Added 'Cancel' button to the 'The options has changed' dialogue.
  • Fixed Rules->Rename/Moving-radio-buttons bug (thx to Kei-kun).
  • Fixed joint eps bug; java.lang.NumberFormatException.
  • Added drop and ctrl-v support to 'Jobs' table.
  • Change: DB update; etb.number width, for joint eps.
  • Added selectable columns in 'Job' view. (Right click table header.)
  • Change: Job-filter-combo-box -> check boxes. (suggested by weedy)
  • Change: Keep-alive is now enabled also when nat is not detected (every 30 min).
  • Fixed bug in keep-alive code.
  • Fixed minor UI update bug in 'Alt'.
  • Fixed sorting bug in 'Jobs' when changing filter.
  • Added new job colours; red -> corrupted, grey -> missing (not found).
  • Changed options file encoding to utf8.
  • Only Java 1.5 support from now.
  • Massive internal changes.
  • Added support for avinfo.dll (Avdump, put the dll somewhere it will be found).
  • Improved support for large font sizes.
    • Fixed table row height.
    • Fixed font in pop-up menu.
    • To change the 'Log' font; press DELETE, edit header, press ok.
    • To customize the file info page; extract 'file.htm' from the jar, edit, save as '.webaom.htm' in your home folder.
  • Added filtering in 'Jobs' view.
  • Added selectable titles in 'Alt' view (romaji,kanji,english).
  • Minor UI changes.

1.17 07.05.2006:

  • Added 'Edit File Name' to pop up menu.
  • Some fixes/changes in the com core.
  • Minor changes for new lang/stream system.
  • Added 'Path regexp' to options file.
  • Changed keep-alive timer to 3 min.
  • Fixed NullPointerEx on 'Add to MyList' when file is unknown, thx to egg.
  • Added more debug output for 'Alt' view.
  • Added 'Load db on startup' and 'Auto log' options.
  • Hidden feature: F9 resets application.
  • Updated 'Alt' view. V3: path exclude, improved %, added M(issing) col, secondary sort
  • Added password (and apipass) storage option.
  • Added 'Alt' key mappings to 'Jobs' too.
  • Code cleanup.
  • Added 'Remove from MyList' to job menu.
  • Added a bunch of key mappings to 'Alt'; afgmwe, left, right, and enter.
  • Added key mapping q to 'File Info' window (close).
  • Updated 'Alt' view. V2: size column, FNF filter, 3 selectable structures;
    • Anime-File, Anime-Episode-File, Anime-Group-File, Anime-Folder-File
  • Added test for codec (C). Tests both audio and video.
  • Change: it's now possible to set job 'Finished' even if the file is not found.
  • Added check box for connection keep-alive.
  • Added 'Set fid (force)' to job menu. For self edited files. (Hashing is still required.)
  • Change: 3 timeouts -> lockdown, new: unlocks after 15 min.
  • Fixed minor bug in pinger when port is out of range.
  • Added support for encrypted and compressed communication.
  • Fixed minor epno padding bug.
  • Fixed "Data too long for column 'audio' at row 1".
  • Fixed (hopefully) out of mem error when adding large folders.
  • Change: Login Dialogue doesn't show up at startup any more.
  • Minor changes in GUI.

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 dialogue on shutdown.
  • Added 'log to file' option.
  • Added support for //-comments in rules.
  • Removed 'off-line 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 series 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: 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 dialogue to a text dialogue.
  • 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.