Giter Site home page Giter Site logo

knolly42 / onedrive-d Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xybu/onedrive-d-old

0.0 1.0 0.0 380 KB

Microsoft OneDrive daemon on Ubuntu

Home Page: http://xybu.me/projects/onedrive-d/

License: GNU Lesser General Public License v3.0

Python 95.77% Shell 4.23%

onedrive-d's Introduction

onedrive-d

A Microsoft OneDrive client on Linux desktop environment, written in Py3k.

NOTE: VERSION 0.85 IS DEPRECATED

NOTE: VERSION 1.0 IS STILL IN DEVELOPMENT

Introduction

The branch 1.0-dev is totally rewritten in Py3k, thereby finishing the features that are unable or itchy to implement in previous, experimental versions.

TODO Lists

  • A simple and light-weight Live Connect API written in Py3k
  • Support both GUI and command-line interfaces
    • Command-line preference dialog
    • Gtk preference Dialog
    • Command-line observer (no-observer mode)
    • Gtk observer
  • Easily customizable ignore list
  • Installation scripts

Installation

Run command ./setup.sh inst (planned)

Uninstallation

Run command ./setup.sh remove (planned)

Approaches

The program consists of two parts, main and prefs. Both parts can run with and without GUI The program can run with and without GUI.

The GUI library planned to use is PyGI.

Architecture

There are two entry points in the program: onedrive-d and onedrive-pref:

  • onedrive-d deals with synchronization.
  • onedrive-pref updates the preferences.

Both commands support two arguments: --no-gui (use command-line interface) and --help (list all supported arguments).

Besides, onedrive-pref --log-out will log out the current user.

onedrive-d

For onedrive-d, there are three major threads:

  • The MainThread initializes the process and communicates with OS.
  • The daemon thread syncs the local repository with the OneDrive server and issues events to its observers;
  • The observer thread observes and handles events from the daemon.
    • The observer may be hooked with either default or gtk event handlers, depending on the existence of --no-gui.

onedrive-pref

ChangeLog

1.0.0-dev

  • Rewrite the program in Python 3.
  • Built-in UTF-8 support.
  • Detachable UI components.
  • Better ignore list feature.
  • And much more...

FAQ

Why are my files / dirs renamed to add *_conflict?

For case conflicts, since NTFS is case-INsensitive, the local repository cannot have two files whose names only differ in cases, say, hello.c and Hello.c. In this case one of them will be renamed hello (case_conflict_1).c and then get synced.

For type conflicts, if the remote entry and local entry have the same name but different types, say, the local path ~/OneDrive/doc is a file while in OneDrive server /doc is a folder, the local one will get renamed.

What is the reference environment?

The program is tested on latest Xubuntu 64-bit and should work on other Debian/Ubuntu variants.

Contact

Xiangyu Bu

onedrive-d's People

Contributors

xybu avatar kpj avatar avlubimov avatar drizzt avatar nicoinn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.