Commit Graph

333 Commits (master)

Author SHA1 Message Date
Nestal Wan 5a0c6ae56e don't throw in CurlAgent for all HTTP errors (#82) 2012-07-26 01:25:44 +08:00
Nestal Wan 51e42914f3 refreshing the token if HTTP 401 is returned (#83) 2012-07-23 16:00:21 +08:00
Nestal Wan 3acd25cb55 proper fix for (#98: missing reference count for Json::Get() ) 2012-07-23 15:43:11 +08:00
justin 96227d38cf store modified time of file in m_mtime instead of passing value as param 2012-07-19 22:22:34 +01:00
Nestal Wan c6a1c47d40 added retry on HTTP 500 & 503 (#82) 2012-07-20 00:50:40 +08:00
Nestal Wan 28e8012ca5 added AuthAgent, a wrapper around http agent 2012-07-20 00:39:36 +08:00
Nestal Wan 57c431dd83 added logs for tracing last sync time 2012-07-19 23:48:01 +08:00
Jan Winkler 2f94168599 Set up an else-clause for IBERTY_LIBRARY and removed unnecessary BOOST-find
In ./CMakeLists.txt the added find_package( Boost ) was removed due to being unnecessary. In libgrive/CMakeLists.txt the IBERTY_LIBRARY is now set to an empty string of it was not found (otherwise the linker breaks during `cmake').
2012-07-19 17:19:40 +02:00
Jan Winkler 56de93c8c7 Commented out iberty_library stuff
The iberty_library could not be found anywhere in my repos or on my system. Compiles and runs fine without.
2012-07-19 16:51:03 +02:00
Nestal Wan 7cc4984932 use mmap for checksum 2012-07-17 01:59:00 +08:00
Nestal Wan ce245576b5 use StdioFile for uploading (#88) 2012-07-17 01:58:16 +08:00
Nestal Wan 75c67dad8d added class & functions for memory mapped files 2012-07-17 01:08:34 +08:00
Nestal Wan 94383e0030 ignoring files with missing MD5 checksum in remote feeds 2012-07-16 23:37:50 +08:00
Nestal Wan 593c335a5e improved logging for HTTP responses 2012-07-16 23:23:08 +08:00
Nestal Wan 394982da4e added _FILE_OFFSET_BITS=64 (#88) 2012-07-16 22:30:30 +08:00
justin e28fe96260 fix deleted local file downloaded again 2012-07-15 17:33:33 +01:00
Nestal Wan 80f3fbf370 refactored the logs to debug sync problems 2012-07-12 00:36:58 +08:00
Nestal Wan 278037b07b fixed incorrect name in pdf files 2012-07-12 00:30:19 +08:00
Ben L 06bf4fe58d Fix empty filenames for Google Docs 2012-07-03 13:42:16 -05:00
Nestal Wan daa1fe9ca3 refactored a bit for the fix in #76 2012-06-27 23:18:12 +08:00
Georges Dubus 34be2e7a87 Fixed a bug where grive crashed on the first run.
It gived a negative start index to get the changes feed, which is
illegal. The error returned by the server triggered a crash.

Fixes #76.
2012-06-27 14:17:13 +02:00
Nestal Wan 460a4fd8f2 save the changestamp after sync (#68) 2012-06-26 00:13:18 +08:00
georg wiltschek 6ecbd8d0ea depending on libboost 1.40 seems no worse than on 1.42 but makes compiling much easier on ubuntu 10.04 :-) 2012-06-25 09:59:22 +02:00
Nestal Wan 1d1365ea1a refactored code in Update() to DetectChanges() 2012-06-23 18:23:43 +08:00
Erik Hardesty 62238c5ba6 Move update logic out of Grive constructor
This is to make it easier to repeatedly sync the
directory when used in a daemon-like setting without
reinstantiating the class
2012-06-21 18:47:01 -05:00
Nestal Wan 6850785667 added zlib for SUSE (#63) 2012-06-21 23:39:53 +08:00
Nestal Wan c5a5221f4b disable an unimportant assertion and replace it with a warning 2012-06-20 22:46:17 +08:00
Nestal Wan a799e7a611 fixed boost fs v2 compile error found by pavel.savara 2012-06-20 22:02:42 +08:00
Nestal Wan 55c0f4e6d5 mark folder and its children as created/deleted recursively (#61) 2012-06-18 23:44:28 +08:00
Nestal Wan 023c208d85 fixed assertion on dry-runs 2012-06-18 23:17:28 +08:00
Nestal Wan dfe89b19b9 don't install the headers when "make install" (#67) 2012-06-18 22:39:43 +08:00
Nestal Wan e388d0bf34 added mock agents for unit tests 2012-06-17 16:34:57 +08:00
Nestal Wan 48391bb16f added more log for dry-run (#65) 2012-06-17 16:33:38 +08:00
Nestal Wan 55ac367255 escape the directory names when uploading (#66) 2012-06-17 15:58:27 +08:00
Nestal Wan 277274f026 fixed handling on changes feed. 2012-06-15 00:55:00 +08:00
Nestal Wan ea4fda5b54 fix recursively add folder (#59) 2012-06-14 01:42:41 +08:00
Nestal Wan 5740d7b77f cherry-picked commits from petrj (#60) 2012-06-12 23:53:32 +08:00
Nestal Wan 72052edf37 removed signal handler 2012-06-12 01:24:27 +08:00
Nestal Wan a79edc9c2b merged compile fixes from LemonBoy #58 2012-06-11 23:37:15 +08:00
LemonBoy 6157dc57f3 Fix some compilation issues. 2012-06-10 19:50:26 +02:00
Nestal Wan b0c0353fdb seems like the changes handling is still not perfect 2012-06-11 00:52:04 +08:00
Nestal Wan 8d822e3582 now sync'ing folder is the same as sync'ing files 2012-06-11 00:40:56 +08:00
Nestal Wan 991d8e444f recursively sync the resources 2012-06-10 23:38:27 +08:00
Nestal Wan 7be193c35b added unit test case 2012-06-10 23:11:32 +08:00
Nestal Wan f0ce00ca7b improved support for changes feed 2012-06-10 21:13:47 +08:00
Nestal Wan 55572c7fc4 refactored. Resource does not contain Entry 2012-06-10 21:13:46 +08:00
Nestal Wan a863939b05 "fixed" UT 2012-06-10 21:13:46 +08:00
Nestal Wan 5f61be489b check for broken link when iterating directory (#55) 2012-06-10 21:12:32 +08:00
Nestal Wan 89e07bb257 removed OpenSSL in Download.cc 2012-06-10 15:36:37 +08:00
Nestal Wan 6aaf84aae5 added grive version and build time in log file 2012-06-09 14:43:04 +08:00
Nestal Wan e259478fb3 removed redundant function 2012-06-09 14:23:39 +08:00
Nestal Wan facdf88058 log uploading of files 2012-06-09 11:02:18 +08:00
Nestal Wan 271dd95b24 escape the document header. fix HTTP 400 when uploading 2012-06-07 18:26:57 +08:00
Nestal Wan 3d27b1af69 force using boost v1.44 or later (#51) 2012-06-07 17:56:03 +08:00
Nestal Wan d24440fa48 added static library (by Jose) 2012-06-07 00:14:21 +08:00
Nestal Wan 01effa1f60 revised the log messages 2012-06-06 23:40:17 +08:00
Nestal Wan c81bb0aaec fixed assertion if remote has dot file (#43) 2012-06-06 23:35:29 +08:00
Nestal Wan 856914c4dc added catch exception for auth code 2012-06-06 23:21:04 +08:00
Nestal Wan b6aafd7ccd fix MD5 and remote XML dump 2012-06-05 23:29:37 +08:00
Nestal Wan 8ff04683a8 removing debug code and minor fixes 2012-06-05 23:08:03 +08:00
Nestal Wan cbf40e9b90 fixed uninitialized change stamp 2012-06-05 22:52:14 +08:00
Nestal Wan 935ac608ff handling change feed. some good news about trashed documents 2012-06-05 22:52:14 +08:00
Nestal Wan a09ba40dbc use libgcrypt instead of OpenSSL 2012-06-05 22:51:54 +08:00
Nestal Wan 5cba612084 adding the Feed class 2012-06-04 01:07:14 +08:00
Nestal Wan 8466095e7b adding change stamp 2012-06-03 23:58:28 +08:00
Nestal Wan 28b32c6f43 recursive delete handling for remote_deleted 2012-06-03 21:53:51 +08:00
Nestal Wan 197abfdea6 removed debug verbose setting in curl 2012-06-03 18:34:03 +08:00
Nestal Wan 379dddc532 fully configurable log 2012-06-03 18:31:02 +08:00
Nestal Wan 53f9c39941 disable debug log during authenication 2012-06-03 17:31:16 +08:00
Nestal Wan 54b65bb738 update the resource by a GET before deleting it 2012-06-03 16:57:21 +08:00
Nestal Wan c17ba4e880 added the http::Header class. should add it long ago. 2012-06-03 16:42:51 +08:00
Nestal Wan 81f71f8406 fixed missing assignment of entry IDs 2012-06-03 15:55:32 +08:00
Nestal Wan 3d7ad69915 don't delete the file if its parent folder will be deleted 2012-06-03 14:44:09 +08:00
Nestal Wan 15c582159a don't log debug info by default 2012-06-02 10:31:37 +08:00
Nestal Wan 88cdb576c4 use ctime instead of mtime to detect changes 2012-06-01 23:30:04 +08:00
Matchman Green da6c99089f enabled code to "delete" files 2012-06-01 00:40:07 +08:00
Matchman Green 59d0761d68 minor refactoring 2012-05-31 23:48:30 +08:00
Matchman Green 6db0b4a7aa refactored the creation of resources 2012-05-31 23:37:47 +08:00
Matchman Green 7830136518 fixed the log messages and some state update 2012-05-31 19:22:18 +08:00
Matchman Green 7e5b7e0b7d should be able to detect new and deleted files correctly now 2012-05-31 01:17:22 +08:00
Matchman Green 8b1b388713 not tracking the status of all files/dir in .grive_state 2012-05-30 01:30:06 +08:00
Matchman Green 167e2eaac5 fixed create subfolder & seg fault 2012-05-29 00:31:29 +08:00
Matchman Green 07553e51fa ignore file and folders with '/' 2012-05-28 00:36:02 +08:00
Matchman Green bb6124c02c can now create new folders 2012-05-28 00:24:37 +08:00
Matchman Green 729ec106f8 no need to check MD5 or mtime for folders 2012-05-27 22:49:49 +08:00
Matchman Green e09bdc5a8a trying to add fdopen 2012-05-27 14:55:26 +08:00
Matchman Green d78728938f added resource test 2012-05-25 01:24:59 +08:00
Matchman Green 61c01019f7 added more test cases and some minor refactoring 2012-05-25 01:24:59 +08:00
Matchman Green 050c89c3d8 trying to make libiberty optional 2012-05-25 00:56:19 +08:00
Matchman Green 97884cf25c improved HTTP error handling to troubleshoot issue #31 2012-05-24 23:50:23 +08:00
Matchman Green ade83c6d70 added libiberty. now can be built in OpenSUSE 12.1.
Thanks Arif Widi Nugroho for the help!
2012-05-24 23:25:49 +08:00
Matchman Green 50f1d813e2 set the mode of .grive to 0600 for security.
Thanks Huin for the reminder.
2012-05-24 19:06:03 +08:00
Matchman Green a0570d507c Revert "Add OS notification support (libnotify)"
This reverts commit 428afa6538.
2012-05-24 18:57:37 +08:00
Matchman Green a49794897a added Chmod for files 2012-05-24 18:56:48 +08:00
daniele 428afa6538 Add OS notification support (libnotify) 2012-05-24 18:10:30 +08:00
Matchman Green 3c769a720a remove Gdbm stuff as it won't compile on some system 2012-05-24 17:52:04 +08:00
Matchman Green c01ace7d18 can upload new files to remote 2012-05-21 01:18:16 +08:00
Matchman Green c7c49b094a fixed upload 2012-05-21 00:10:29 +08:00
Matchman Green 99f6e4cc58 improved logging and fixed exception on MD5 calculation 2012-05-20 23:16:59 +08:00
Matchman Green 90bf78e716 minor clean up 2012-05-20 19:28:44 +08:00
Matchman Green dfbe859531 load and save from .grive_state and build the resource tree 2012-05-20 17:12:01 +08:00
Matchman Green 3dd3f544fb minor clean up 2012-05-20 15:25:38 +08:00
Matchman Green 6453de2cf6 start using state for synchronization 2012-05-20 15:01:53 +08:00
Matchman Green b1589bb181 clean up sync code 2012-05-20 15:01:53 +08:00
Matchman Green 7f2fa95d9a improved checking on files 2012-05-20 15:01:53 +08:00
Matchman Green 13aa9a455b merge the list of the files and folders in the same list 2012-05-20 15:01:53 +08:00
Matchman Green b46c9debf8 minor refactoring 2012-05-20 15:01:53 +08:00
Matchman Green aa03b212f7 removing the folder list in Drive, using state instead 2012-05-20 15:01:53 +08:00
Matchman Green 7882198293 merged the File class to Resource 2012-05-20 15:01:53 +08:00
Matchman Green 50e3091b2a renamed Collection to Resource 2012-05-20 15:01:52 +08:00
Matchman Green 149c1c14b0 replace with FolderSet 2012-05-20 15:01:52 +08:00
Matchman Green 37f2066727 added folder set 2012-05-20 15:01:52 +08:00
Matchman Green cf77a2d5c4 added folder init code in state 2012-05-20 15:01:52 +08:00
Matchman Green 3a33db68b6 replaced the Path class with fs::path 2012-05-20 15:01:52 +08:00
Matchman Green 57fb6d3b0e added state to drive 2012-05-20 15:01:52 +08:00
Matchman Green 6dd505f8a6 added state 2012-05-20 15:01:52 +08:00
Matchman Green 2095d0f956 trying to work around a compiler problem in gcc 4.4.4 2012-05-20 15:00:44 +08:00
Andrea Scarpino 1784277c7f Fix build (maybe due to GCC 4.7?)
/builds/grive-git/src/grive/libgrive/src/http/Agent.cc: In function ‘void {anonymous}::CallbackInt(int)’:                                      
/builds/grive-git/src/grive/libgrive/src/http/Agent.cc:63:2: error: ‘cout’ is not a member of ‘std’
2012-05-16 14:50:07 +03:00
Matchman Green 53883ab8bd move the .grive from home directory to current directory. get change stamp 2012-05-16 00:54:58 +08:00
Matchman Green 0b63d9bd3c added config file class, but not very well encapsulated 2012-05-15 23:07:03 +08:00
Matchman Green 3dea8343de added code to save and load change_stamp 2012-05-14 23:33:29 +08:00
Matchman Green 30f9834968 saved the metadata of the files 2012-05-14 23:33:29 +08:00
Matchman Green 3c8c6bab54 Revert "adding xattr". seems it's better not to use xattr
This reverts commit daf5bec3a1ec4c18b3326376ab6260bd1019b0cb.
2012-05-14 23:33:29 +08:00
Matchman Green 31800ae2f1 adding xattr 2012-05-14 23:33:28 +08:00
Matchman Green 35c2ef9fc1 use boost exception macro to throw exception 2012-05-14 23:32:22 +08:00
Matchman Green 1f551ee321 added file log. fixed bug on getting upload link 2012-05-13 17:27:40 +08:00
Matchman Green 4408f51300 improved and simplified log API 2012-05-13 16:45:27 +08:00
Matchman Green 63553aae04 added log interface 2012-05-13 16:10:18 +08:00
Matchman Green 8ced12d5a1 used new exception classes 2012-05-13 15:27:58 +08:00
Matchman Green 66e7783a9c added backtrace 2012-05-13 14:08:04 +08:00
Matchman Green 9631031931 ignore files and folders that is not inside the root tree.
also ignore files/folders with multiple parents
2012-05-13 01:57:15 +08:00
Matchman Green 931f743b58 use showroot=true. ignoring folders not in root folder 2012-05-12 18:48:55 +08:00
Matchman Green 4da9d0bc00 removed old Json code 2012-05-12 18:24:42 +08:00
Matchman Green b2d0bf2ba8 use XML for downloading files and folders 2012-05-12 17:38:41 +08:00
Matchman Green 444bf61c73 added copy ctor & op= to NodeSet 2012-05-12 12:27:35 +08:00
Matchman Green c1c1916eb7 improved Find() in SetSet 2012-05-12 11:47:51 +08:00
Matchman Green ceffebb097 changed operator[] to return NodeSet 2012-05-12 11:09:31 +08:00
Matchman Green 05cae069c6 added NodeSet 2012-05-12 10:49:22 +08:00
Matchman Green f80a5f0fb7 trying to read properties from entry XML 2012-05-12 10:49:22 +08:00
Matchman Green 826db0e064 added UT helper 2012-05-12 10:49:22 +08:00
Matchman Green 204e0db62e used boost::iterator_adaptor 2012-05-12 10:49:22 +08:00
Matchman Green 0c3fdaa921 trying to use LIB_INSTALL_DIR 2012-05-10 22:30:11 +08:00
Matchman Green d3b841ccfd added debug logs. the XML nodes need to be improved 2012-05-10 01:20:38 +08:00
Matchman Green 1ae7a18f63 Merge branch 'working' 2012-05-10 00:31:02 +08:00
Matchman Green 93f0f42855 missing '$' 2012-05-10 00:30:30 +08:00
Matchman Green 55fb39cbc1 adding log to http agent 2012-05-10 00:30:01 +08:00
Matchman Green efaa5df229 renamed HTTP.(hh|cc) to Agent 2012-05-10 00:22:27 +08:00
Matchman Green b51e5c593f reuse the Entry class in Collection 2012-05-09 23:52:06 +08:00
Matchman Green 56e605c392 renamed File to Entry, because it is common between file & folder 2012-05-09 23:09:19 +08:00
Matchman Green b8153d05f9 Merge branch 'master' of matchgit:match065/grive
Conflicts:
	libgrive/src/drive/Drive.cc
2012-05-09 22:31:37 +08:00
Matchman Green 175fe855fe added lib32 & lib64 library install path destination 2012-05-09 22:26:38 +08:00
Matchman Green 06158e6bf0 fixed state reuse in the receivables 2012-05-09 22:25:42 +08:00
Matchman Green b0f5769cb2 fixed state reuse in the receivables 2012-05-09 00:58:05 +08:00
Matchman Green d621aa4296 improved the node printing function 2012-05-07 00:03:33 +08:00
Matchman Green 6ad573942a fixed crash. missing AddRef() 2012-05-06 23:30:14 +08:00
Matchman Green c00ffef6a3 Merge branch 'master' into working 2012-05-06 23:17:24 +08:00
Matchman Green 70669fe290 Merge remote-tracking branch 'origin/master' 2012-05-06 23:16:51 +08:00
Matchman Green 65ae81bb96 node iterator still being worked 2012-05-06 23:16:43 +08:00
Matchman Green 3584e12152 Merge branch 'v0.0.4' into working 2012-05-06 22:54:52 +08:00
Matchman Green 98f1bba4ab added -v to display version 2012-05-06 22:40:58 +08:00
Matchman Green 1098e7e335 added code to remove files 2012-05-06 22:27:52 +08:00
Daniele Simonetti d891d1fefd add LIBEXPAT requirements to CMakeLists 2012-05-06 16:25:37 +02:00
Matchman Green 7363c7a49a Merge branch 'v0.0.4' into working
Conflicts:
	libgrive/src/drive/Drive.cc
2012-05-06 18:26:45 +08:00
Matchman Green 1eeaede474 fetching the next link 2012-05-06 18:14:36 +08:00
Matchman Green 1aaca87ad0 implementing iterator for XML nodes 2012-05-06 17:13:48 +08:00
Matchman Green f987888cac character handling in XML 2012-05-06 11:50:37 +08:00
Matchman Green 5e615de7cd added class to parse XML in HTTP response 2012-05-06 02:37:54 +08:00
Matchman Green b42e7c6501 move http files to a separate directory 2012-05-06 02:21:39 +08:00
Matchman Green 1c7b114ea5 refactored to use only the new http interface 2012-05-06 02:15:28 +08:00
Matchman Green 1e6e6a4347 added HTTP receiver callback interface 2012-05-06 01:12:44 +08:00
Matchman Green ba737cba29 Merge branch 'v0.0.4' into working 2012-05-05 23:19:59 +08:00
Matchman Green b90e032cda properly handle read-only files 2012-05-05 22:54:36 +08:00
Matchman Green 8357e9ed82 renamed HTTP agent class and namespace 2012-05-05 22:39:18 +08:00
Matchman Green b89f7bb873 refactored to allow progressive parsing 2012-05-05 15:25:21 +08:00
Matchman Green 19c329836b separated name & value 2012-05-05 15:00:23 +08:00
Matchman Green b12edc2a2a added expat parser 2012-05-05 13:01:23 +08:00
Matchman Green 7d2b8b441d adding xml tree basics 2012-05-04 01:44:52 +08:00
Matchman Green 7b8d22b2b7 Merge remote-tracking branch 'origin/master' into v0.0.3 2012-05-03 22:54:25 +08:00
Massimo Gengarelli e563f7cad6 Remove old and unwanted CMakeLists 2012-05-02 22:58:55 +02:00
Massimo Gengarelli 2eccd9df2c Install all the headers in CMAKE_PREFIX/include 2012-05-02 22:10:14 +02:00
Matchman Green 915303d205 commented out the SignalHandler 2012-05-03 00:17:16 +08:00
Matchman Green 2e7647a162 making server MD5 optional 2012-05-02 23:31:10 +08:00
Matchman Green d4a8d9fb65 Merge branch 'massix'
Conflicts:
	CMakeLists.txt
2012-05-02 23:30:49 +08:00