WebAOM: Difference between revisions

From AniDB
Jump to navigation Jump to search
No edit summary
(fast update for 1.09)
Line 4: Line 4:
:* ed2k, crc32, md5, sha1, tth hashing<br>
:* ed2k, crc32, md5, sha1, tth hashing<br>
:* file add to [[mylist]]<br>
:* file add to [[mylist]]<br>
:* anidb-style and custom file renaming<br>
:* custom file renaming and moving<br>
<b>Current Version:</b>
<b>Current Version hosted by AniDBdb:</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]
:* 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.09 (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>
<br>
== Introduction ==
== 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 [http://www.anidb.net/client/udp-api.html UDP-API] and is therefore limited. Since it is designed as an applet, it does not store any information (options, file info) on your computer. (This is another limitation.)
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 [http://www.anidb.net/forum/privmsg.php?mode=post&u=2555 pm'ed] to [[User:epoximator|epoximator]].
Line 24: Line 26:
Pretty selfex...
Pretty selfex...


<b>Buttons</b><br>
===Buttons===
:* Add files... : Add specific files for hashing. (Only those with extensions specified in "Wanted File Extensions" are added.)
:* Wiki : Link to this page.
:* Add folders... : Add folder(s) with all including files for hashing.
:* Files... : Add specific files for hashing. (Only those with extensions specified in "Wanted File Extensions" are added.)
:* Start : Start hashing operation (and adding).
:* Folders... : Add folder(s) with all including files for hashing.
:* Stop : Stop hashing. Does currently not affect adding (iirc).
:* Toggle Hasher : Start/stop hashing operation (and moving).
:* Toggle Adder : Start/stop adding.
:* Save Log : Save the Log to disk (in HTML format).
:* Save Log : Save the Log to disk (in HTML format).
:* Save Options: Save options to "%home/.webaom".
:* Ping AniDB : Check reachability to AniDB. (UDP server that is.)
:* Ping AniDB : Check reachability to AniDB. (UDP server that is.)
<b>Tabs</b><br>
 
===Tabs===
:* Rules: Definitions and Rules for renaming and moving.
:* Options : All options.
:* Options : All options.
:* Jobs: Table of files/work.
:* Log : The log. What's going on. History.
:* Log : The log. What's going on. History.
:* Hash : All selected checksums are printed here.
:* Hash : All selected checksums are printed here.
:* Input Files : When you add a file / folder all files are listed here at first.
:* Hashed Files: When a file is hashed (selected from Input Files) it is moved here.
:* Finished Files : When a file is added to [[mylist]] it is moved here. Double click to see info for each file.
:* Unknown Files : If a file is unknown by AniDB it is moved here. The file may be [http://www.anidb.net/wiki/index.php?title=Files:CRC-verified_files corrupt] or not yet [http://www.anidb.net/wiki/index.php?title=How_to_add/remove:_Anime added] to the database.
:* Info : Some info about the client. Changelog.
:* Info : Some info about the client. Changelog.
:* Debug : Low level communication and exceptions are printed here.
:* Debug : Low level communication and exceptions are printed here.
<b>Options</b><br>
 
:* Connection(+)
===Options===
:* Connection
::*Offline Mode : No communication with AniDB. Adding and renaming are disabled if checked.
::*Offline Mode : No communication with AniDB. Adding and renaming are disabled if checked.
::*AniDB Host : URL to AniDB can be set here. Probably never necessary to change this.
::*AniDB Host : URL to AniDB can be set here. Probably never necessary to change this.
Line 68: Line 72:
%epn Episode name
%epn Episode name
%enr Episode number
%enr Episode number
%ed2k
%md5
%md5
%sha
%sha
Line 76: Line 81:
%sub Sub language
%sub Sub language
%grp Group short name
%grp Group short name
%qty Quality
%qual Quality
%src Source
%src Source
%res Resolution
%res Resolution
%vid Video codec
%vid Video codec
%aud Audio codec
%aud Audio codec
%year
%eps Total number of episodes
%type
%fid
%aid
%eid
%gid
</pre>
</pre>
== New move and replace 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===
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
:::Define main partitions for example.
:*Rename schema
:::Schema for renaming. Example: ren01 = "%ann - %enr [%crc]%ver_"
:*Moving schema
:::Schema for moving. Example: mov01 = "\%year\%ann - [%eps][%grp]\"
:*Illegal characters
:::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.


===Rules===
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:
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 test except year is done on strings. (The information you test on are what you see in the anidb webpages 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 requrie 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.)
<pre>
#1 Y(0-1999);T(Movie);S(DVD) ren01
#2 Y(2000,2002);T(TV);G(AonE) IGNORE
#3 A(Naruto);S(DVD) ren03
Which means:
if (0>=year>=1999) AND Type="Movie" AND Source="DVD"
  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>
== Changelog ==
== Changelog ==
<pre>
<pre>
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
1.08 05.07.2005
-Updated mylist file states.
-Updated mylist file states.

Revision as of 08:48, 9 September 2005

Author: epoximator
OS: Java VM
Main Features:

  • ed2k, crc32, md5, sha1, tth hashing
  • file add to mylist
  • custom file renaming and moving

Current Version hosted by AniDBdb:

Current Version hosted by epoximator:



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 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.

Screenshots

Documentation

Pretty selfex...

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 Hasher : Start/stop hashing operation (and moving).
  • Toggle Adder : Start/stop adding.
  • Save Log : Save the Log to disk (in HTML format).
  • Save Options: Save options to "%home/.webaom".
  • Ping AniDB : Check reachability to AniDB. (UDP server that is.)

Tabs

  • Rules: Definitions and Rules for renaming and moving.
  • Options : All options.
  • Jobs: Table of files/work.
  • Log : The log. What's going on. History.
  • Hash : All selected checksums are printed here.
  • Info : Some info about the client. Changelog.
  • Debug : Low level communication and exceptions are printed here.

Options

  • Connection
  • Offline Mode : No communication with AniDB. Adding and renaming are disabled if checked.
  • AniDB Host : URL to AniDB can be set here. Probably never necessary to change this.
  • Remote Port : Remote Port can be set here. Probably never necessary to change this.
  • Local Port : Local Port can be set here. Necessary if the default port is used by another application on your system. (Default is 45678. Can be changed on request.)
  • Hash functions : ED2K CRC32 MD5 SHA1 TTH
  • File Options
  • Wanted File Extensions : Default are avi, ogm, mkv. (More can be added on request.)
  • Rename Options
  • Combobox for custom renaming. (More schemes can be added on request.)
  • 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}
  • Rename files AniDB style : Uses default AniDB scheme: {anime name} - {episode #} - {episode name} - {group short name}.{file extension}
  • Replace illegal characters : Replaces illegal characters defined in the table beneath. Also used to change ' ' to '_'.
  • Hashes in uppercase : Uppercase hashes in filename. Only possible when own style is selected.

Custom rename tags:

%ann Anime name
%epn Episode name
%enr Episode number
%ed2k
%md5
%sha
%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
%fid
%aid
%eid
%gid

New move and replace 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

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
Define main partitions for example.
  • Rename schema
Schema for renaming. Example: ren01 = "%ann - %enr [%crc]%ver_"
  • Moving schema
Schema for moving. Example: mov01 = "\%year\%ann - [%eps][%grp]\"
  • Illegal characters
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.

Rules

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:

   IF              THEN
#1 T(TV,OVA)       ren01
#2 REST            reb02

Which means:

if type="TV" OR type="OVA"
  then use ren01 schema
else
  then use ren02 schema

Possible tests

  • 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 test except year is done on strings. (The information you test on are what you see in the anidb webpages 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 requrie 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.)

#1 Y(0-1999);T(Movie);S(DVD)	ren01
#2 Y(2000,2002);T(TV);G(AonE)	IGNORE
#3 A(Naruto);S(DVD)		ren03

Which means:

if (0>=year>=1999) AND Type="Movie" AND Source="DVD"
  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

Changelog

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.