README.md in rapidshare-ext-0.0.2 vs README.md in rapidshare-ext-0.0.3

- old
+ new

@@ -63,11 +63,11 @@ So, if you want to invalidate the cache just call the above method with trailing "!": ```ruby api.folders_hierarchy! ``` -If folder tree is inconsistent (orphans are found) the Exception will be thrown. To automatically normalize the tree, call the method with :consistent flag: +If folder tree is inconsistent (orphans are found, see next paragraph for details) the Exception will be thrown. To automatically normalize the tree, call the method with :consistent flag: ```ruby api.folders_hierarchy :consistent => true ``` Be careful with a tree consistency, orphan folders may contain a critical data. @@ -77,49 +77,81 @@ api.move_orphans :to => "/garbage" # Collect all orphans and place them under the /garbage folder tree = api.folders_hierarchy ``` ### Orphans -Ok, the Rapidshare has its common problem: orphan folders. What is this? For example we have the following directory tree: +As mentioned before, the Rapidshare has its common problem: orphan folders. +What does it mean? When you delete parent folder by its ID then it will be deleted without any of its child folders being deleted. +For example, lets we have the basic directory tree: ``` ROOT `-a <- RS API allows us to delete JUST THIS folder, so hierarchy relation between folders will be lost and the folders "c" and "b" will become orphans `-b `-c ``` -Orphans is invisible in your File Manager on the Rapidshare web site, so you may want to hide data in that way (stupid idea) -We can fix it by detecting all orphan folders and moving them to a specific folder: + +Orphan folders are invisible in your File Manager on the Rapidshare web site, so you may want to hide data in that way (stupid idea) + +So, the best way to delete directory tree without washing away its consistency is the following: ```ruby +api.remove_folder "/a" +``` + +Buy if you already have orphans in your account there is possible to fix them. +The next method detects all orphan folders in your account and moves them to a specific folder: +```ruby move_orphans :to => "/" ``` -Or we can just kill'em all: +Or we can just delete all of them (be careful): ```ruby remove_orphans! ``` -Get folder ID or path: +Get the folder ID or path: ```ruby id = api.folder_id("/foo/bar") # <ID> api.folder_path(id) # "/foo/bar" ``` ### Files -File uploading is simple now: +Now you can download files in two ways: by HTTP url or by absolute path. + +By url, as it worked before: ```ruby +@rs.download "https://rapidshare.com/files/4226120320/upload_file_1.txt", + :downloads_dir => "/tmp", + :save_as => "file2.txt" # This doesn't work in the base rapidshare gem + + # With a default local file name + @rs.download "https://rapidshare.com/files/4226120320/upload_file_1.txt", + :downloads_dir => "/tmp" +``` + +Download by the absolute path: +```ruby +@rs.download "/foo/bar/baz/upload_file_1.txt", + :downloads_dir => "/tmp" +``` + +For both first and second samples result will be the same + +File uploading became very simple now: +```ruby api.upload("/home/odiszapc/my_damn_cat.mov", :to => "/gallery/video", :as => "cat1.mov") # => { # :id => 1, # :size => 12345, # File size in bytes # :checksum => <MD5>, # :url => <DOWNLOAD_URL>, # https://rapidshare/....... # :already_exists? => true/false # Does the file already exists within a specific folder, real uploading will not being performed in this case #} ``` +Destination folder will be created automatically. After uploading has been completed the file will be stored in a Rapidshare as "/gallery/video/cat1.mov" -To get download url after uploading: +You can easily get a download url after uploading: ```ruby result = api.upload("/home/odiszapc/my_damn_cat.mov", :to => "/gallery/video", :as => "cat1.mov") result[:url] ``` @@ -128,11 +160,11 @@ api.upload("/home/odiszapc/my_damn_humster.mov") ``` Deleting files: ```ruby -api.remove_file("/putin/is/a/good/reason/to/live/abroad/ticket_to_Nikaragua.jpg") +api.remove_file("/putin/is/a/good/reason/to/live/abroad/ticket_to_Nicaragua.jpg") ``` Renaming files: ```ruby api.rename_file("/foo/bar.rar", "baz.rar") @@ -142,16 +174,16 @@ ```ruby api.move_file("/foo/bar/baz.rar", :to => "/foo") # new file path: "/foo/baz.rar" api.move_file("/foo/bar/baz.rar") # move to a root folder ``` -Get file ID: +Get the file ID: ```ruby api.file_id("/foo/bar/baz.rar") # => <ID> ``` ### Account -You can null your account by deleting all data involved. Be carefull with it, all data will be lost: +You can null your account by deleting all data stored inside. Be careful with it, because all you los all your data: ```ruby api.erase_all_data! ``` ## Contributing \ No newline at end of file