Listing files and folders
Each folder in Files.Warwick is an Atom Collection, meaning that it can be represented as an Atom feed of files and folders.
Sending a GET
request to the Atom endpoint for a folder returns all of the sub-folders and files (sub-folders appear first):
mat@augustus:~$ curl -i -X GET -u cuscav
"https://files.warwick.ac.uk/files/api/atom/folder?account=mmannion&path=mmannion/Files/"
Enter host password for user 'cuscav':
HTTP/1.1 200 OK
Date: Tue, 05 Mar 2013 18:58:50 GMT
Content-Type: application/atom+xml;charset=utf-8
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app"> xmlns:files="http://go.warwick.ac.uk/elab-schemas/files/atom"
<title>My account -</title>
<link rel="self"
href="https://files.warwick.ac.uk/files/api/atom/folder?account=mmannion&path=mmannion%2FFiles%2F" />
<link rel="alternate"
href="https://files.warwick.ac.uk/mmannion/browse/" />
<link rel="service"
href="https://files.warwick.ac.uk/files/api/atom/service" />
<author>
<name>Mathew Mannion</name>
</author>
<id>https://files.warwick.ac.uk/mmannion/browse/</id>
<updated>2013-03-05T15:02:24.658Z</updated>
<entry>
<title>My new folder name</title>
<link rel="collection"
href="https://files.warwick.ac.uk/files/api/atom/folder?account=mmannion&path=mmannion%2FFiles%2FMy+new+folder+name%2F" />
<link rel="edit"
href="https://files.warwick.ac.uk/files/api/atom/node?account=mmannion&path=mmannion%2FFiles%2FMy+new+folder+name%2F" />
<link rel="edit-permissions"
href="https://files.warwick.ac.uk/files/api/atom/permissions?account=mmannion&path=mmannion%2FFiles%2FMy+new+folder+name%2F" />
<link rel="alternate"
href="https://files.warwick.ac.uk/mmannion/browse/My+new+folder+name" />
<id>https://files.warwick.ac.uk/mmannion/browse/My+new+folder+name</id>
<updated>2013-03-05T15:02:24.658Z</updated>
<published>2013-03-05T15:02:24.658Z</published>
<app:edited>2013-03-05T15:02:24.658Z</app:edited>
<author>
<name>Mathew Mannion</name>
</author>
<summary type="text">My new folder name/</summary>
<files:size>25053908</files:size>
<files:files>10</files:files>
<files:folders>2</files:folders>
</entry>
<entry>
<title>Exam Results.pdf</title>
<link rel="edit" href="https://files.warwick.ac.uk/files/api/atom/node?account=mmannion&path=mmannion%2FFiles%2FExam+Results.pdf"/>
<link rel="edit-permissions" href="https://files.warwick.ac.uk/files/api/atom/permissions?account=mmannion&path=mmannion%2FFiles%2FExam+Results.pdf"/>
<link rel="edit-media" href="https://files.warwick.ac.uk/files/api/atom/media?account=mmannion&path=mmannion%2FFiles%2FExam+Results.pdf"/>
<link rel="alternate" type="application/pdf" href="https://files.warwick.ac.uk/mmannion/files/Exam+Results.pdf"/>
<content type="application/pdf" src="https://files.warwick.ac.uk/mmannion/files/Exam+Results.pdf"/>
<id>https://files.warwick.ac.uk/mmannion/files/Exam+Results.pdf</id>
<updated>2013-03-05T16:38:34.971Z</updated>
<published>2013-03-05T16:38:35.023Z</published>
<app:edited>2013-03-05T16:38:34.971Z</app:edited>
<author>
<name>Mathew Mannion</name>
</author>
<summary type="text">Exam Results.pdf</summary>
<files:mimetype>application/pdf</files:mimetype>
<files:size>11923854</files:size>
<files:antivirus>
<files:checking>false</files:checking>
<files:checked>true</files:checked>
<files:hasvirus>false</files:hasvirus>
</files:antivirus>
</entry>
... etc ...
</feed>
- Folders have a
link rel="collection"
that points to the Atom feed representing the collection of files/sub-folders in that folder - Files have a
link rel="edit-media"
for overwriting their content - Both files and folders have a
link rel="edit-permissions"
for viewing the collection of their permissions - We specify a Files.Warwick XML Schema at http://go.warwick.ac.uk/elab-schemas/files/atom - this allows us to get Files.Warwick-specific properties. These are always optional
- Folders have a number of Files.Warwick specific properties:
files:size
- the total cumulative file size, in bytes, of all files uploaded in this folder or sub-folders of itfiles:files
- the number of files in this folderfiles:folders
- the number of subfolders in this folder
- Similarly, files have the following properties:
files:mimetype
- the MIME type of the filefiles:size
- the size, in bytes, of the filefiles:antivirus
- information from the anti-virus service about this file. Contains:files:checking
-true
if the service is currently checking this file or it is queued to be checked,false
otherwisefiles:checked
-true
if the service has completed checking this file,false
otherwisefiles:hasvirus
-true
if the service has detected a virus in this file,false
otherwise- If both
files:checking
andfiles:checked
are false, Files.Warwick was unable to check the file