WebAOM: Difference between revisions

Jump to navigation Jump to search
416 bytes added ,  13 January 2006
no edit summary
m (16)
No edit summary
Line 7: Line 7:
'''Author:''' [[User:epoximator|epoximator]]
'''Author:''' [[User:epoximator|epoximator]]


'''OS:''' Java VM
'''OS:''' Java VM (Sun)


'''Main Features:'''
'''Main Features:'''
:* ed2k, crc32, md5, sha1, tth hashing
* ed2k, crc32, md5, sha1, tth hashing
:* file add to [[mylist]]
* file add to [[mylist]]
:* custom file renaming and moving
* custom file renaming and moving
:* local / private mysql database support
* external postgre/mysql database support


'''Current Version hosted by AniDB:'''
'''Current Version hosted by AniDB:'''
:* WebAOM v1.15b (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.15b (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:''' (using new server. if trouble use 1.15b)
'''Latest Version hosted by epoximator:'''
:* WebAOM v1.16 (051221) [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]
* WebAOM v1.16 (060113) [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


== Screenshots ==
== Screenshots ==
Line 34: Line 34:


=== Buttons ===
=== Buttons ===
:* Wiki : Link to this page.
* Wiki : Link to this page.
:* Files... : Add specific files for hashing. (Only those with extensions specified in "Wanted File Extensions" are added.)
* 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.
* Folders... : Add folder(s) with all including files for hashing.
:* Toggle fileIO : Start/stop hashing and moving thread.
* Toggle fileIO : Enable/disable hashing and moving thread.
:* Toggle netIO : Start/stop communication thread.
* Toggle netIO : Enable/disable communication thread.
:* Save Log : Save the Log to disk (in HTML format).
* Save Opt: Save options to "%home/.webaom".
:* Save Options: Save options to "%home/.webaom".
* Export : Export all the loaded data to a file.
:* Ping AniDB : Check reachability to AniDB. (UDP server that is.)
* Import: Import data from a file.
* Ping AniDB : Check reachability to AniDB. (UDP server that is.)


=== Tabs ===
=== Tabs ===
:* Rules: Rule system. See Move/Rename system.
* Rules: Rule system. See 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.
:* 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. Changelog.
* Debug : Low level communication and exceptions are printed here.
* Chii Emu: Write [[Chii]] commands here. (Also possible to use UDP API commands.)


=== 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.
::*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.
::*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.
:*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 Hasher starts. Directories are separated with ";". It's not recommended to edit this string when the Hasher is running.
::* Browser Path : Set path to internet browser manually here. For Linux users.
:* 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.
:* 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]
:* Wanted File Extensions : Default are avi, ogm, mkv, mp4.
* Wanted File Extensions : Default are avi, ogm, mkv, mp4.
:* Rename Options (removed in 1.09)
* Rules (in own tab)
::* Combobox for custom renaming. (More schemes can be added on request.)
:* Renaming : Show rules for renaming.
::* 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}
:* Moving : Show rules for moving.
::* Rename files AniDB style : Uses default AniDB scheme: {anime name} - {episode #} - {episode name} - {group short name}.{file extension}
:* Apply : Apply the current rules. Don't forget to click this after you have changed the rules.
::* Replace illegal characters : Replaces illegal characters defined in the table beneath. Also used to change ' ' to '_'.
:* Replace Table : String mapping table. DELETE, CTRL UP/DOWN keys is supported.
::* Hashes in uppercase : Uppercase hashes in filename. Only possible when own style is selected.
 
=== Job Menu (Popup) ===
=== Job Menu (Popup) ===
:* Pause : Pause / unpause job.
The popup menu will appear when right clicking a job (or several). It will spawn a worker thread when needed. It's not possible to spawn several such worker threads, but it's possible to abort a running thread by pressing ESC.
:* Show Info : Show info about a file/job. (double click)
* Pause : Pause / unpause job.
:* Watch Now : Watch with default media player. Windows only. (alt + double click)
* Show Info : Show info about a file/job. (double click)
:* Explore Folder : Open parent folder with Explorer. Windows only.
* Watch Now : Watch with default media player. Windows only. (alt + double click)
:* Rehash : Use this if you want rehash and include other hash types. (Must be selected in 'Other' options.)
* Explore Folder : Open parent folder with Explorer. Windows only.
:* Identify : Re-identify the file. Can be used on 'Unknown' files to check if they are added to anidb.
* Rehash : Use this if you want rehash and include other hash types. (Must be selected in 'Other' options.)
:* Add to mylist : Add job manually if you forgot to check 'Add files to mylist'.
* Identify : Re-identify the file. Can be used on 'Unknown' files to check if they are added to anidb.
:* Apply Rules : If the rules are changed after a job is finished, they can be applied again manually.
* Add to mylist : Add job manually if you forgot to check 'Add files to mylist'.
:* Set Finished : If you don't want to bother with a troublesome file, just set it as finished.
* Apply Rules : If the rules are changed after a job is finished, they can be applied again manually.
:* Restore Name : Rename file to its original name.
* Set Finished : If you don't want to bother with a troublesome file, just set it as finished.
:* Set Folder : Move file to a specific folder. Can also be used to find files when 'File not found'.
* Restore Name : Rename file to its original name.
:* Remove from DB : Remove job from local database. Will be readded if used twice.
* Set Folder : Move file to a specific folder. Can also be used to find files when 'File not found'.
* Set Parent Folder : Same as 'Set Folder' but this will include the folder. For keeping the folder name.
* Edit Folder Path : Edit the folder path raw.
* Remove from DB : Remove job from local database. This will _not_ remove the file from your mylist. The job will be readded if used twice.


== Move/rename system ==
== Move/rename system ==
Line 99: Line 103:
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.  
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.
Notice that the system is under development. Feel free to request changes / comment.


=== Scripting ===
=== 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:
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:


<pre> IF A(Naruto) DO FAIL //Do not rename file if it is Naruto
<pre>
DO ADD '%eng (%ann) - %enr - %epn ' //Add the base, same for all files
IF A(Naruto) DO FAIL //Do not rename file if it is Naruto
IF D(japanese);S(english) DO ADD '(SUB)' //Add (SUB) if the file is subbed in english
DO ADD '%eng (%ann) - %enr - %epn ' //Add the base, same for all files
IF D(japanese);S(none) DO ADD '(RAW)' //Add (RAW) if the file is not subbed.
IF D(japanese);S(english) DO ADD '(SUB)' //Add (SUB) if the file is subbed in english
IF G(!unknown) DO ADD '[%grp]' //Add group name if it is not unknown
IF D(japanese);S(none) DO ADD '(RAW)' //Add (RAW) if the file is not subbed.
DO ADD '(%CRC)' //Always add crc
IF G(!unknown) DO ADD '[%grp]' //Add group name if it is not unknown
#this would create the schema "%eng (%ann) - %enr - %epn (SUB)[%grp](%CRC)" for a normal subbed file.</pre>
DO ADD '(%CRC)' //Always add crc
#this would create the schema "%eng (%ann) - %enr - %epn (SUB)[%grp](%CRC)" for a normal subbed file.
</pre>


>'< around parts is not required. Example on move schema:
' around parts is not required. Example on move schema:


<pre> IF R(DVD,HKDVD) DO ADD 'M:\dvd\'
<pre>
ELSE DO ADD 'N:\tv\'
IF R(DVD,HKDVD) DO ADD 'M:\dvd\'
IF Y(0-1999) DO ADD '199X\%year - %ann [%eps]'
ELSE DO ADD 'N:\tv\'
ELSE DO ADD '%year\%ann [%eps]'
IF Y(0-1999) DO ADD '199X\%year - %ann [%eps]'
IF G(!unknown) DO ADD '[%grp]\'
ELSE DO ADD '%year\%ann [%eps]'
ELSE DO ADD '\'</pre>
IF G(!unknown) DO ADD '[%grp]\'
ELSE DO ADD '\'
</pre>


Syntax for each line in a script:
Syntax for each line in a script:
:* [[ELSE] IF {test}/ELSE] DO ADD {part}/SET {part}/FAIL/FINISH [{last part}]/RETURN {complete schema}
* [[ELSE] IF {test}/ELSE] DO ADD {part}/SET {part}/FAIL/FINISH [{last part}]/RETURN {complete schema}
::* ADD means +=
:* ADD means +=
::* SET means =
:* SET means =
::* FAIL means return null;
:* FAIL means return null;
::* FINISH means return result; Also possible to add last part. (Not needed as last line.)
:* FINISH means return result; Also possible to add last part. (Not needed as last line.)
::* RETURN means return complete schema (for exceptions).
:* RETURN means return complete schema (for exceptions).
::* DO is always required.
:* DO is always required.
::* !!! CASE SENSITIVE !!!
:* !!! CASE SENSITIVE !!!


'''Possible tests'''
'''Possible tests'''
:* A = Anime (text/number) [*/#] Anime Name/Title (Romaji/Kanji/English) or aid.
* A = Anime (text/number) [*/#] Anime Name/Title (Romaji/Kanji/English) or aid. (Synonyms and short names is NOT supported.)
:* G = Group (text/number) [unknown, */#] Short name or gid.
* 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 = Rip source (text) [unknown, camcorder, TV, DTV, VHS, VCD, SVCD, LD, DVD, HKDVD, www]
* 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 ([http://www.regular-expressions.info/reference.html regexp]).
* P = file Path ([http://www.regular-expressions.info/reference.html regexp]).
:* N = geNre (text, one of).
* N = geNre (text, one of).
:* I = tag Is defined (text). (IF I(%eng) DO ADD %eng)
* 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.


Line 170: Line 178:
   %eps Total number of episodes
   %eps Total number of episodes
   %type [unknown, TV, OVA, Movie, Other, web]
   %type [unknown, TV, OVA, Movie, Other, web]
   %gen Genre string
   %gen Category string
   %fid File ID
   %fid File ID
   %aid Anime ID
   %aid Anime ID
Line 177: Line 185:


== Local database ==
== Local database ==
From 1.14 mysql db is supported.
From 1.14 external databases is supported.


How to:
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 and install mysql (http://dev.mysql.com/downloads/mysql/5.0.html). 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'.
:* 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 [http://www.hostunlim.com/epoximator/webaom-sql.rar db def]. Only required with pre 1.16 versions!
:* Download and extract webaom db def (http://www.hostunlim.com/epoximator/webaom-sql.rar).
* Create the database:
:* Create db:
:* mysql -u{usr} -p{psw}
::* mysql -u{usr} -p{psw}
:* create database {webaom}; exit;
::* create database {webaom}; exit;
:* mysql -u{usr} -p{psw} {webaom} < webaom.sql
::* mysql -u{usr} -p{psw} {webaom} < webaom.sql
* Start WebAOM and write the jdbc url into the 'My Database' field: "jdbc:mysql://{host}/{webaom}[?user={usr}][&password={psw}]
:* 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)
::* {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.
::* {webaom} is the name of the database. Can be whatever you like.
:* {usr} is the username. Optional. 'root' is assumed.
::* {usr} is the username. Optional. 'root' is assumed.
:* {psw} is the password. Optional. No password is assumed.
::* {psw} is the password. Optional. No password is assumed.
* Press enter (in text field).
:* Press enter (in text field).
:* This must be done every time you start WebAOM. Should be done before adding any files.
::* 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.
::* 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.  
::* If you want to load info on finished files you must use the Add file/folder buttons.  


== Changelog ==
== Changelog ==
546

edits

Navigation menu

MediaWiki spam blocked by CleanTalk.
MediaWiki spam blocked by CleanTalk.