WebAOM: Difference between revisions
Epoximator (talk | contribs) No edit summary |
Epoximator (talk | contribs) m (1.15) |
||
Line 7: | Line 7: | ||
:* custom file renaming and moving<br> | :* custom file renaming and moving<br> | ||
:* local / private mysql database support<br> | :* local / private mysql database support<br> | ||
'''Current Version hosted by AniDB:''' | '''Current Version hosted by AniDB:''' (renaming broken) | ||
:* 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] | ||
''' | '''Latest Version hosted by epoximator:''' | ||
:* WebAOM v1. | :* WebAOM v1.15 (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] | ||
'''Old versions:''' | '''Old versions:''' | ||
:* http://www.hostunlim.com/epoximator/hist | :* http://www.hostunlim.com/epoximator/hist | ||
== 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 [ | 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. | ||
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]]. | ||
== Screenshots == | == Screenshots == | ||
NaodW29-gallery50013c3d730fab6400000001 | |||
== Documentation == | == Documentation == | ||
Line 46: | Line 43: | ||
===Options=== | ===Options=== | ||
:* Connection | :* Connection | ||
::*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. | ||
Line 63: | Line 59: | ||
::* 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 : JDBC url to local / private database. | ::* 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. | ::* Renaming : Combobox for selecting renaming mode. | ||
::* [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] | ::* [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] | ||
Line 125: | Line 122: | ||
:* G = Group (text/number) [unknown, */#] Short name or gid. | :* G = Group (text/number) [unknown, */#] Short name or gid. | ||
:* Q = Quality (text) [unknown, very high, high, med, low, very low, corrupted, eyecancer] | :* Q = Quality (text) [unknown, very high, high, med, low, very low, corrupted, eyecancer] | ||
:* R = | :* R = Rip source (text) [unknown, camcorder, TV, DTV, VHS, VCD, SVCD, LD, DVD, HKDVD, www] | ||
:* T = Type (text) [unknown, TV, OVA, Movie, Other, web] | :* T = Type (text) [unknown, TV, OVA, Movie, Other, web] | ||
:* Y = Year (number) [#] | :* Y = Year (number) [#] | ||
:* D = Dub language (text) (Note: 'dual (jap/[lang2])' is replaced with 'jap&[lang2]') | :* D = Dub language (text) (Note: 'dual (jap/[lang2])' is replaced with 'jap&[lang2]') | ||
:* S = Sub language (text) | :* S = Sub language (text) | ||
:* P = file Path ( | :* P = file Path ([http://www.regular-expressions.info/reference.html 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. | 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=== | ===Tags=== | ||
%ann Anime Name / Title | |||
%ann Anime Name / Title | %kan Jap. Kanji Title | ||
%kan Jap. Kanji Title | %eng English Title | ||
%eng English Title | %epn Episode name | ||
%epn Episode name | %epk Episode name kanji | ||
%enr Episode number | %epr Episode name romaji | ||
%ed2k / %ED2K | %enr Episode number | ||
%md5 / %MD5 | %ed2k / %ED2K | ||
%sha / %SHA | %md5 / %MD5 | ||
%crc / %CRC | %sha / %SHA | ||
%ver Version string | %crc / %CRC | ||
%cen Censored string | %ver Version string | ||
%dub Dub language | %cen Censored string | ||
%sub Sub language | %dub Dub language | ||
%grp Group short name | %sub Sub language | ||
%qual Quality | %grp Group short name | ||
%src Source | %qual Quality | ||
%res Resolution | %src Source | ||
%vid Video codec | %res Resolution | ||
%aud Audio codec | %vid Video codec | ||
%year | %aud Audio codec | ||
%eps Total number of episodes | %year | ||
%type [unknown, TV, OVA, Movie, Other, web] | %eps Total number of episodes | ||
%fid File ID | %type [unknown, TV, OVA, Movie, Other, web] | ||
%aid Anime ID | %gen Genre string | ||
%eid Episode ID | %fid File ID | ||
%gid Group ID | %aid Anime ID | ||
%eid Episode ID | |||
%gid Group ID | |||
== Local database == | == Local database == | ||
From 1.14 mysql db is supported. | From 1.14 mysql db is supported. | ||
Line 188: | Line 185: | ||
== Changelog == | == Changelog == | ||
NaodW29-pre62d9f2ce481c526f00000001 | |||
- | |||
[[Category:Anidb Clients]] | [[Category:Anidb Clients]] |
Revision as of 20:19, 9 November 2005
Author: epoximator
OS: Java VM
Main Features:
- ed2k, crc32, md5, sha1, tth hashing
- file add to mylist
- custom file renaming and moving
- local / private mysql database support
- ed2k, crc32, md5, sha1, tth hashing
Current Version hosted by AniDB: (renaming broken)
Latest Version hosted by epoximator:
Old versions:
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
NaodW29-gallery50013c3d730fab6400000001
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 : Start/stop hashing and moving thread.
- Toggle netIO : Start/stop communication thread.
- 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: Rule system. See Move/Rename system.
- 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
- 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. 3 seconds is minimum. 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 ";".
- 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.
- Rename Options (removed in 1.09)
- 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.
Job Menu (Popup)
- 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'.
- Remove from DB : Remove job from local database. 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. Expect radical changes. 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) 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.
- 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 Genre string %fid File ID %aid Anime ID %eid Episode ID %gid Group ID
Local database
From 1.14 mysql db is supported.
How to:
- Download and install mysql (http://dev.mysql.com/downloads/mysql/5.0.html). Be sure to select unicode support.
- Download Connector/J (http://dev.mysql.com/downloads/connector/j/3.1.html) and extract the jar file to '{java path}/jre{version}/lib/ext'.
- Download and extract webaom db def (http://www.hostunlim.com/epoximator/webaom-sql.rar).
- Create db:
- mysql -u{usr} -p{psw}
- create database {webaom}; exit;
- mysql -u{usr} -p{psw} {webaom} < webaom.sql
- Start WebAOM and write the jdbc url into 'My Database' text field: "jdbc:mysql://{host}/{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 whatever 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.
Changelog
NaodW29-pre62d9f2ce481c526f00000001