Thread Tools
jonnenau's Avatar
Posts: 116 | Thanked: 445 times | Joined on Apr 2010 @ Oulu, Finland
DropN900 - Python based DropBox client for the Nokia N900 mobile device

Present features
  • Login with your DropBox email and password, one time authentication. An oauth access token is used on later sessions. You can remove auth when you like and re-login with same or another DropBox account.
  • Full DropBox access. Read/write to everything in your dropbox account.
  • Synchronizing a DropBox path both ways (upload/download)
  • Create new folder, rename file/folder, upload file, download file, remove file/folder.
  • Image file thumbnail preview, loading animations and showing results for actions.
  • Threaded networking (non-bloking) so you'll have a smooth user experience while network I/O is happening. Threaded file writing for same reason.
  • Monitoring and requesting network connections from device.
  • App settings for various things.
  • Transfer Manager for monitoring active transfers and transfer history.


You'll need to have extras-devel enabled in your device repos. App Manager Just search 'dropn900' category is 'network', its the only thing you need to install. This package depends on many other that are listed below but they come automatically with this main package. Terminal sudo gainroot; apt-get update; apt-get install dropn900;


dropn900-0.1.9-1 - 24.11.2010
dropn900-0.1.8-1 - 23.11.2010
  • Sync upload/publish N900 camera folder content to dropbox path /N900Media/Photos and /N900Media/Videos
  • -> Confirmation options to sync both videos and photos or just photos or videos.
  • -> .mp4 files are sorted to videos, everything else goes to photos. Subfolders in /home/user/MyDocs/DCIM are ignored.
  • -> Will ask to create n900 media folders if not present. Hard coded to /N900Media/Photos and /N900Media/Videos paths so if you dont accept you cant use this feature.
  • Fixed treeview column resizing bugs. Now auto resizes to content width every time treeview content changes.
  • Fixed line edits being black with black text, now white bg with black text as normal.
  • Made right side buttons a bit smaller with a bit smaller text, more space for horizontally long treeview item names.
  • Some style changes to make things looks normal again after PR 1.3
  • NOTE: Settings Sync Path selection button paint bug is known. Most likely wont show anything so you have trust what you insert in the popup when you press it. I guess QMaemo5ValueButton got twisted in PR 1.3, custom style sheets does not seem to do anything for this subclass of QPushButton.

dropn900-0.1.7-2 - 02.11.2010
  • Fix PR 1.3 introduced bug: segfaults when initializing out QApplication instance.
  • Removed false import left when debugging the issue on build 1.

dropn900-0.1.6-1 - 24.10.2010
  • Separate confirm dialogs for upload and download
  • Options in confirmation dialogs: Download/Upload Files, Cancel, Ignore Files and for upload dialog Delete Local Files.
  • -> Delete Local Files: will remove all files that are marked as NEW FILE in known dropbox paths. If uploads still available after deletion, updates UI and reconfirms what to do. This will happen only if you have added new folders and files that are not present in the server, these you still have to delete manually if you dont want to sync them. Or just click ignore to not act on them.
  • Transfers widgets cleaned up. Sync wont create widget per sync dl/ul, but a reporting widget that will track the progress of the sync. Showing stats: time spent on upload and download, how many files uploaded/downloaded and how many left and total size of uploads/downloads. Hopefully this will bring speed to the transfers view as there are alot less items in it now.
  • Added small 'Sync Now' button to main views lower right corner. This same space will also show when a sync is in progress and the button goes away for that time.
  • Made main tree view items a little bigger with bigger font so its easier to use without stylus.
  • Internals: Much cleaner code all around for the sync ui part.

dropn900-0.1.5-3 - 13.09.2010
  • Synchronization now goes both ways as follows
  • --- Upload sync updates existing files that have newer timestamp and is different size compared to server file.
  • --- Upload sync sends new files in existing dropbox paths
  • --- Upload sync sends new local folders and files that do not exist in corresponding dropbox paths
  • --- Upload sync will skip local paths that have non-ascii chars: my code would support this but dropbox python client does not however. It fails to open file objects that non-ascii chars.
  • --- Upload sync will skip temp files that end with ~
  • Sync reporting/confirmation dialog got a facelift
  • Transfers manager updated to support sync uploads
  • Removed python2.5-qt4-network and python2.5-qt4-webkit dependencies
  • Created a new about dialog with more information on the app and paypal donate link

dropn900-0.1.4-1 - 05.08.2010
  • Bug fix: Certain themes had column width problems, so you could not see the item names without manual resize.
  • Bug fix: Upload goes through, but fails on internal callback after thread finishes. This resulted in not fetching the new metadata automatically for parent folder after upload.
  • App now uses unicode internally and for networking encodes to utf-8.
  • --- Scandic letter now work and have been tested, any chars in utf-8 should work also of course.
  • --- Tested files/paths with scandic chars: rename, new folder, download, remove, but on upload with scandics in file name dropbox refuses with "forbidden" response. This seems to be the only limitation.
  • --- Errors on upload should show in transfers widget, and the transfer is set to failed state.
  • --- Login email/password can now have non-ascii chars also.

dropn900-0.1.3-1 - 02.08.2010
  • Bug fix: QTimers were not polling active threads due to gmainloopcontext.iteration() was blocking it.
  • Bug fix: Download code was saying too early that file was ready, even 30mb files seemed to come in ~few seconds. This lead multiple downloads to be going at the same time, now only one at a time as intended from the beginning.
  • New Feature: Recursive sync. Searches all subfolders for out of date or missing files and syncs them also
  • Confirmation dialog of sync download. Lists total file count and size and for every folder separately.
  • More checking on sync start, wont start if existing active transfers or data writing to disk
  • UI updates to transfer widget to show total sync stats
  • When you sync for example /Photos, it now goes to <default_dl_dir>/Photos

dropn900-0.1.2-2 - 30.07.2010
  • Fixed fatal bug: app crashed and burned on start up for users that did not have /home/user/.dropn900 config dir.

dropn900-0.1.2-1 - 30.07.2010

User interface
  • New: Tranfers widget that shows download/uplaod/sync progress and history
  • New: Settings UI where all DropN900 settings can be tweaked by the user. Stored to a config.
  • Qt style sheet and graphic updates
  • Utilizing more maemo banners and notes
  • Authentication UI shows more error information and requests connection when device has no networking
  • When waiting for a connection added the spinner animation
  • UI title and button name changes to be more descriptive
  • Console pretty printing via new
  • Download, upload and browse default dl location dialogs remember last traveled location
  • Expanding folders from the arrow icon in the tree view will now invoke a metadata fetch, previously only double cliking items did this.

New functionality
  • You can now access the 'Public' folders public links. You can open them directly with the OS browser or copy to OS clipboard for pasting to eg. sms/chat/email.
  • Threaded non blocking file I/O. Fixes spinner animation and whole app freeze after download completed.
  • Application settings: set default download folder, toggle store location dialog on/off when downloading, store auth to file on/off, defining dropbox sync path and other sync settings.
  • Sync and Tranfer managers to handle transfers and UI updating.
  • More error checking and handling for everything that might fail. Informing user more about warnings and errors to log.
  • Restore default settings. Found from Settings menu bar.
  • Clear transfer history. Confirmation if active tranfers. Found from Transfers menu bar.

dropn900-0.1.1-2 - 26.07.2010
  • Implemented network monitoring and reqeusting a connection from the device. Done with python-conic, python-gobject and python-dbus that are now new dependencies.
  • If there is no connection present or it is lost during browsing, dropn900 will connect to a saved connection or pop the maemo connection dialog up.
  • Implemented MaemoDataHandler that will make sure files are accessed from correct places.
  • Default download location changed to /home/user/MyDocs/DropN900
  • Package now creates .pyc files as a post-install step. This will make the app start up faster.
  • Implemented new logger that make color coded prints with log categories.
  • Console widget is no a Qt.WA_Maemo5StackedWindow with the nice animations and maemo back button.
  • Console widget log can be saved to a file.
  • Fixed typos in prints and removed unnecessary prints.

dropn900-0.1.0-6 - 21.07.2010
  • Fixed PyQt4 network and webkit dependencies to package

dropn900-0.1.0-5 - 21.07.2010
  • First release with basic functionality

Last edited by jonnenau; 2010-11-24 at 00:02.

The Following 195 Users Say Thank You to jonnenau For This Useful Post:
aanckar, aapeli, abchobby, adamFsmith, Adib, afteris, Alan_Peery, aldebarab, alexff, alienhead, AlMehdi, amk332, ammuvi, anapospastos, antezz, Aonsaithya, Apoc, asyik, avinashsonee, Baaart,, ballfresno, bayernhan, Berserk, bimbim, Blaizzen, BLC, borghal, Bundyo, cardiff-blues, casketizer, ceevee, CepiPerez, cipper, cjp, claesbas, clasificado, codeMonkey, craftyguy, crail, Crashdamage, crazy_agent, Crogge, Cue, daddeddad, DaReaper, DaSilva, DaveQB, davidm870, dazzakoh, dbrodie, dDoS, demludi, drangina, DrWilken, dscobsct, dvergin, dzano, eachna, ed00, El Amir, enne30, eothred, erniadeldesktop, ersanpermana, esiravegna, esthreel, evad, Fatalist, filbert, filologen, fleetwood, fpp, frostbyte, gabby131, Garrett_PL, geohsia, gixx, gordonshowers, gs1, HangLoose, Hellmur, hellnick, Helmuth, Henry Triplette, Hotshot, HoustonKV, imo, Inacurate, ingvay7, ironm8, jakiman, Jaykie, jaywink, jedi, JimKnopf, jkw, John McClane, JorgeFX, jorjino, Joschi, Joseph9560, jsbigs, juanenrique, juise-, jzgenx19, Ken-Young, kent_autistic, kik, kimitake, kojacker, kolos, Kuartzer, labra, larelogio, Laughing Man, lidow, lolloo, lugkhast, lunatik, madmaze, Maj3stic, makel, Marshall Banana, mbo, Mike Fr, mikec, mivoligo, MJ m,, mymybib, naabi, natgwil, Necc, Netweaver, new_guy, nikolajhendel, No!No!No!Yes!, nokiabot, noobmonkey, nubsis, patemera, PathFinder@9GS, Pertsa, peter2p, pitmik, pqs, punto, qosmio, raily, rebhana, Reffyyyy, Regster, reinob, renowong, rizbert, RogerTHAcctant, Russe89, sachin007, sbock, Schturman, se23, Sevanteri, shawwawa, Sin, skalogre, smoothc, Snoshrk, sophocha, sprite, stevomanu, sting04, Stonik, strange1712, Straycat, thecursedfly, tissot, torshind, totalizator, travla, uvatbc, v13, vdeparday, vhtellez, vkv.raju, Waynder, wolverine, wow23, YoDude, Zentenario, zincholic, ZogG
Posts: 4 | Thanked: 1 time | Joined on Apr 2010
The Dropn900 does not start

The Following User Says Thank You to Unbeliever For This Useful Post:
jonnenau's Avatar
Posts: 116 | Thanked: 445 times | Joined on Apr 2010 @ Oulu, Finland
Originally Posted by Unbeliever View Post
The Dropn900 does not start
You'll have to be more specific in order for me to help you. As said in the tips see console and if no UI is coming up I suspect PyQt4 is not present. Try going to /opt/dropn900 and start with ./ and see what errors python prints. The package should have PyQt as dependency correctly, at least for me it got it.


Edit. Aha I am missing PyQt4.QtNetwork/QtWebkit that I previously to use in my in app web browser. Basically dead code before the public links functionality.

Well there is a easy fix for this before i can update the package. So this is needed if you dont have the Full PyQt4 installed.
sudo gainroot

Last edited by jonnenau; 2010-07-21 at 12:19.

The Following 2 Users Say Thank You to jonnenau For This Useful Post:
dscobsct's Avatar
Posts: 263 | Thanked: 231 times | Joined on Feb 2010 @ wales
simply awsome.
uploading and downloading works well, and cpu stays very low.
interface is really lush.
login was fine.
only thing i can find so far is when uploading a file, the upload gets cancelled when you double click on a file in ur online dropbox, single click on a file doesnt seem to cancel it.
also lovin the previews for photos.
really quick and easy app, great work mate
my home on the net is symbian-freak/maemo-freak dot com.
come and visit
Posts: 10 | Thanked: 2 times | Joined on May 2010 @ Geneva, Switzerland
Thank you thank you thank you thank you!
A dropbox client was one of my main missing features of the N900, this looks like a very good start. Is there any daemon that syncs folders automatically as well, or is it manual download/upload only (which is already a very good start btw!)?
Posts: 4 | Thanked: 1 time | Joined on Apr 2010
I`ve installed python2.5-qt4-network and python2.5-qt4-webkit. So it`s ok now. Thank you for work!
dscobsct's Avatar
Posts: 263 | Thanked: 231 times | Joined on Feb 2010 @ wales
wait hold on, just tested over 3g, wifi worked fine but over 3g, it connects so i can see my online dropbox, but when i go to download a file it i get the progress indicator for a while then it says error, are you connected to the internet.
my home on the net is symbian-freak/maemo-freak dot com.
come and visit
Posts: 94 | Thanked: 39 times | Joined on Jun 2010 @ Germany
Small bug:
On first login when you enter the mail address it starts with a big letter (W instead of w), I see this in many apps but it's still not the right way I think, it doesn't matter for mail addresses anyway but it looks strange with a big first letter.

The Following User Says Thank You to weißelstone For This Useful Post:
jonnenau's Avatar
Posts: 116 | Thanked: 445 times | Joined on Apr 2010 @ Oulu, Finland
eothred: Currently the API from DropBoxes side is limited to single dl/ul. I could abuse the API and do some hacks but I believe they will ban you very quickly. Synching the whole content of dropbox to your mobile does not make much sense anyways when people have 2-100GB plans on dropbox. We could maybe later see the sandbox "DropN900" folder synched with some sensible max file size limit or something.

dscobsct: Yes the networking checks are still a bit of an issues. I dont have adequate checks in place and just pushed this kind of banner when the dropbox lib throws me httplib exceptions. I will work on this in the future. Mine work nicely with 3G tought. Also for the double click while uploading, I will have to check it out later. Might be good to hold on when you are uploading with this version

weißelstone: Yes this is very stupid thing, but fortunately only cosmetic I think I can later push a input mask or a validator object into the line edits to make everything small.

Thanks for the fast feedback. Hopefully we can make this better togerther. I pushed a new dropn900 0.1.0-6 version to the maemo builder. This should fix the dependency issues once it gets trough the build process, seems there are lot more queue now than in the night time

Last edited by jonnenau; 2010-07-21 at 12:41.

The Following User Says Thank You to jonnenau For This Useful Post:
Posts: 145 | Thanked: 88 times | Joined on Nov 2009 @ Copenhagen
Thanks a lot jonnenau. I just installed the program and it seems to work fine, also on 3g.

Your work is _really_ appreciated.

Thread Tools

Forum Jump

All times are GMT. The time now is 18:58.