User:Ommina: Difference between revisions

Jump to navigation Jump to search
Line 370: Line 370:
  </tr>
  </tr>
</table>
</table>
=== FILE: Retrieve File Data ===
'''Command String:'''<br>
by fid:
* FILE fid={int4 id}[&fmask={hexstr fmask}&amask={hexstr amask}]
by size+ed2k hash:
* FILE size={int8 size}&ed2k={str ed2khash}[&fmask={hexstr fmask}&amask={hexstr amask}]
by anime, group and epno
* FILE aname={str anime name}&gname={str group name}&epno={int4 episode number}[&fmask={hexstr fmask}&amask={hexstr amask}]
* FILE aname={str anime name}&gid={int4 group id}&epno={int4 episode number}[&fmask={hexstr fmask}&amask={hexstr amask}]
* FILE aid={int4 anime id}&gname={str group name}&epno={int4 episode number}[&fmask={hexstr fmask}&amask={hexstr amask}]
* FILE aid={int4 anime id}&gid={int4 group id}&epno={int4 episode number}[&fmask={hexstr fmask}&amask={hexstr amask}]
'''Possible Replies:'''
* 220 FILE
: {int4 fid}|{int4 aid}|{int4 eid}|{int4 gid}|{int4 state}|{int8 size}|{str ed2k}|{str anidbfilename}
* 220 FILE
: {int4 fid}|...(data list)
* 322 MULTIPLE FILES FOUND
: {int4 fid 0}|{int4 fid 1}|...|{int4 fid n}
* 320 NO SUCH FILE
'''Info:'''
* fid, aid, eid, gid are the unique ids for the file, anime, ep, group entries at anidb.
: You can use those to create links to the corresponding pages at anidb.
* anidbfilename is the anidb filename for the file.
: However this name does not contain all the extra information of the filenames on AniDB and might be composed slightly different.
* fmask and amask are hexidecimal strings where each bit corresponds to a data field related to the specified file (see below). The data list received is sorted in the same order as the tables (and fmask before amask).  There is '''no''' provision to retrieve all fields, further, requesting a 'unusued' or 'reserved' bit will return an "illegal input" error.
* Only the first matching file is returned when aname, gname and epno is used.
'''State:'''
<pre>
bit / int value meaning
1 / 1 FILE_CRCOK: file matched official crc (displayed with green background in anidb)
2 / 2 FILE_CRCERR: file DID NOT match official crc (displayed with red background in anidb)
3 / 4 FILE_ISV2: file is version 2
4 / 8 FILE_ISV3: file is version 3
5 / 16 FILE_ISV4: file is version 4
6 / 32 FILE_ISV5: file is version 5
7 / 64 FILE_UNC: file is uncensored
8 / 128 FILE_CEN: file is censored
examples:
state ==== 9 ==> FILE_CRCOK+FILE_ISV3 ==> file matched official crc and is version 3
state ==== 0 ==> - ==> file was not crc checked and is version 1
state ==== 34 ==> FILE_CRCERR+FILE_ISV5 ==> file DID NOT match official crc and is version 5
state ==== 1 ==> FILE_CRCOK ==> file matched official crc and is version 1
state ==== 8 ==> FILE_ISV3 ==> file was not crc checked and is version 3
</pre>
<table border="0" cellpadding="0" cellspacing="2">
<tr><td colspan="4" align="center">'''fmask:'''</td></tr>
<tr>
  <td align="center">'''Byte 1'''</td>
  <td align="center">'''Byte 2'''</td>
  <td align="center">'''Byte 3'''</td>
  <td align="center">'''Byte 4'''</td>
</tr>
<tr>
  <td>
  <table>
    <tr>
    <td>'''Bit'''</td>
    <td align="right">'''Dec'''</td>
    <td>'''Data Field'''</td>
    </tr>
    <tr bgcolor="#eee">
    <td>7</td>
    <td align="right">128</td>
    <td>unused</td>
    </tr>
    <tr>
    <td>6</td>
    <td align="right">64</td>
    <td>int4 aid</td>
    </tr>
    <tr bgcolor="#eee">
    <td>5</td>
    <td align="right">32</td>
    <td>int4 eid</td>
    </tr>
    <tr>
    <td>4</td>
    <td align="right">16</td>
    <td>int4 gid</td>
    </tr>
    <tr bgcolor="#eee">
    <td>3</td>
    <td align="right">8</td>
    <td>int4 lid</td>
    </tr>
    <tr>
    <td>2</td>
    <td align="right">4</td>
    <td>list other episodes</td>
    </tr>
    <tr bgcolor="#eee">
    <td>1</td>
    <td align="right">2</td>
    <td>int2 IsDeprecated</td>
    </tr>
    <tr>
    <td>0</td>
    <td align="right">1</td>
    <td>int2 state</td>
    </tr>
  </table>
  </td>
  <td>
  <table>
    <tr>
    <td>'''Bit'''</td>
    <td align="right">'''Dec'''</td>
    <td>'''Data Field'''</td>
    </tr>
    <tr>
    <td>7</td>
    <td align="right">128</td>
    <td>int8 size</td>
    </tr>
    <tr bgcolor="#eee">
    <td>6</td>
    <td align="right">64</td>
    <td>str ed2k</td>
    </tr>
    <tr>
    <td>5</td>
    <td align="right">32</td>
    <td>str md5</td>
    </tr>
    <tr bgcolor="#eee">
    <td>4</td>
    <td align="right">16</td>
    <td>str sha1</td>
    </tr>
    <tr>
    <td>3</td>
    <td align="right">8</td>
    <td>str crc32</td>
    </tr>
    <tr bgcolor="#eee">
    <td>2</td>
    <td align="right">4</td>
    <td>unused</td>
    </tr>
    <tr>
    <td>1</td>
    <td align="right">2</td>
    <td>unused</td>
    </tr>
    <tr bgcolor="#eee">
    <td>0</td>
    <td align="right">1</td>
    <td>unused</td>
    </tr>
  </table>
  </td>
  <td>
  <table>
    <tr>
    <td>'''Bit'''</td>
    <td align="right">'''Dec'''</td>
    <td>'''Data Field'''</td>
    </tr>
    <tr bgcolor="#eee">
    <td>7</td>
    <td align="right">128</td>
    <td>reserved</td>
    </tr>
    <tr>
    <td>6</td>
    <td align="right">64</td>
    <td>str source</td>
    </tr>
    <tr bgcolor="#eee">
    <td>5</td>
    <td align="right">32</td>
    <td>str audio codec</td>
    </tr>
    <tr>
    <td>4</td>
    <td align="right">16</td>
    <td>int4 audio bitrate</td>
    </tr>
    <tr bgcolor="#eee">
    <td>3</td>
    <td align="right">8</td>
    <td>str video codec</td>
    </tr>
    <tr>
    <td>2</td>
    <td align="right">4</td>
    <td>int4 video bitrate</td>
    </tr>
    <tr bgcolor="#eee">
    <td>1</td>
    <td align="right">2</td>
    <td>str video resolution</td>
    </tr>
    <tr>
    <td>0</td>
    <td align="right">1</td>
    <td>str file type (extension)</td>
    </tr>
  </table>
  </td>
  <td>
  <table>
    <tr>
    <td>'''Bit'''</td>
    <td align="right">'''Dec'''</td>
    <td>'''Data Field'''</td>
    </tr>
    <tr>
    <td>7</td>
    <td align="right">128</td>
    <td>str dub language</td>
    </tr>
    <tr bgcolor="#eee">
    <td>6</td>
    <td align="right">64</td>
    <td>str sub language</td>
    </tr>
    <tr>
    <td>5</td>
    <td align="right">32</td>
    <td>int4 length in seconds</td>
    </tr>
    <tr bgcolor="#eee">
    <td>4</td>
    <td align="right">16</td>
    <td>str description</td>
    </tr>
    <tr>
    <td>3</td>
    <td align="right">8</td>
    <td>int4 release date</td>
    </tr>
    <tr bgcolor="#eee">
    <td>2</td>
    <td align="right">4</td>
    <td>unused</td>
    </tr>
    <tr>
    <td>1</td>
    <td align="right">2</td>
    <td>unused</td>
    </tr>
    <tr bgcolor="#eee">
    <td>0</td>
    <td align="right">1</td>
    <td>str anidb file name</td>
    </tr>
  </table>
  </td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="2">
<tr><td colspan="4" align="center">'''amask:'''</td></tr>
<tr>
  <td align="center">'''Byte 1'''</td>
  <td align="center">'''Byte 2'''</td>
  <td align="center">'''Byte 3'''</td>
  <td align="center">'''Byte 4'''</td>
</tr>
<tr>
  <td>
  <table>
    <tr>
    <td>'''Bit'''</td>
    <td align="right">'''Dec'''</td>
    <td>'''Data Field'''</td>
    </tr>
    <tr bgcolor="#eee">
    <td>7</td>
    <td align="right">128</td>
    <td>int4 anime total episodes</td>
    </tr>
    <tr>
    <td>6</td>
    <td align="right">64</td>
    <td>int4 highest episode number</td>
    </tr>
    <tr bgcolor="#eee">
    <td>5</td>
    <td align="right">32</td>
    <td>str year</td>
    </tr>
    <tr>
    <td>4</td>
    <td align="right">16</td>
    <td>str type</td>
    </tr>
    <tr bgcolor="#eee">
    <td>3</td>
    <td align="right">8</td>
    <td>str related aid list</td>
    </tr>
    <tr>
    <td>2</td>
    <td align="right">4</td>
    <td>str related aid type</td>
    </tr>
    <tr bgcolor="#eee">
    <td>1</td>
    <td align="right">2</td>
    <td>str category list</td>
    </tr>
    <tr>
    <td>0</td>
    <td align="right">1</td>
    <td>reserved</td>
    </tr>
  </table>
  </td>
  <td>
  <table>
    <tr>
    <td>'''Bit'''</td>
    <td align="right">'''Dec'''</td>
    <td>'''Data Field'''</td>
    </tr>
    <tr>
    <td>7</td>
    <td align="right">128</td>
    <td>str romaji name</td>
    </tr>
    <tr bgcolor="#eee">
    <td>6</td>
    <td align="right">64</td>
    <td>str kanji name</td>
    </tr>
    <tr>
    <td>5</td>
    <td align="right">32</td>
    <td>str english name</td>
    </tr>
    <tr bgcolor="#eee">
    <td>4</td>
    <td align="right">16</td>
    <td>str other name</td>
    </tr>
    <tr>
    <td>3</td>
    <td align="right">8</td>
    <td>str short name list</td>
    </tr>
    <tr bgcolor="#eee">
    <td>2</td>
    <td align="right">4</td>
    <td>str synonym list</td>
    </tr>
    <tr>
    <td>1</td>
    <td align="right">2</td>
    <td>str producer name list</td>
    </tr>
    <tr bgcolor="#eee">
    <td>0</td>
    <td align="right">1</td>
    <td>str producer id list</td>
    </tr>
  </table>
  </td>
  <td>
  <table>
    <tr>
    <td>'''Bit'''</td>
    <td align="right">'''Dec'''</td>
    <td>'''Data Field'''</td>
    </tr>
    <tr bgcolor="#eee">
    <td>7</td>
    <td align="right">128</td>
    <td>str epno</td>
    </tr>
    <tr>
    <td>6</td>
    <td align="right">64</td>
    <td>str ep name</td>
    </tr>
    <tr bgcolor="#eee">
    <td>5</td>
    <td align="right">32</td>
    <td>str ep romaji name</td>
    </tr>
    <tr>
    <td>4</td>
    <td align="right">16</td>
    <td>str ep kanji name</td>
    </tr>
    <tr bgcolor="#eee">
    <td>3</td>
    <td align="right">8</td>
    <td>unused</td>
    </tr>
    <tr>
    <td>2</td>
    <td align="right">4</td>
    <td>unused</td>
    </tr>
    <tr bgcolor="#eee">
    <td>1</td>
    <td align="right">2</td>
    <td>unused</td>
    </tr>
    <tr>
    <td>0</td>
    <td align="right">1</td>
    <td>unused</td>
    </tr>
  </table>
  </td>
  <td>
  <table>
    <tr>
    <td>'''Bit'''</td>
    <td align="right">'''Dec'''</td>
    <td>'''Data Field'''</td>
    </tr>
    <tr>
    <td>7</td>
    <td align="right">128</td>
    <td>str group name</td>
    </tr>
    <tr bgcolor="#eee">
    <td>6</td>
    <td align="right">64</td>
    <td>str group short name</td>
    </tr>
    <tr>
    <td>5</td>
    <td align="right">32</td>
    <td>unused</td>
    </tr>
    <tr bgcolor="#eee">
    <td>4</td>
    <td align="right">16</td>
    <td>unused</td>
    </tr>
    <tr>
    <td>3</td>
    <td align="right">8</td>
    <td>unused</td>
    </tr>
    <tr bgcolor="#eee">
    <td>2</td>
    <td align="right">4</td>
    <td>unused</td>
    </tr>
    <tr>
    <td>1</td>
    <td align="right">2</td>
    <td>unused</td>
    </tr>
    <tr bgcolor="#eee">
    <td>0</td>
    <td align="right">1</td>
    <td>reserved</td>
    </tr>
  </table>
  </td>
</tr>
</table>
----