Commit Graph
8893 Commits
Author SHA1 Message Date
Ruslan Kuprieiev 4078e902d1 test_config: python3 fix
1) use io for StringIO in python3
2) use builtins instead of __builtin__
3) use StringIO instead of BytesIO when mocking aws config
Othervise this test fails on python3.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-12 00:22:19 +03:00
Ruslan Kuprieiev 52d4c001a9 travis: add dummy aws credentials to make unitests work
Our tests assume that user has his default credentials at
~/.aws/credentials, but this is not the case with travis.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-11 23:17:36 +03:00
Ruslan Kuprieiev 8253f449ca data_cloud: check if cloud section exists
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-11 22:49:15 +03:00
Ruslan Kuprieiev b502691b0e unittests: exit if nosetests exits with error code
For now unitetests.sh is useless, as it returns 0 anyway.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-11 22:42:29 +03:00
Ruslan Kuprieiev 016229d193 travis: add dummy git user and mail
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-11 22:28:43 +03:00
Ruslan Kuprieiev 56b07a4ee3 debug: add assert Settings to DataCloud
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-11 22:26:23 +03:00
Ruslan Kuprieiev 0d3ef3c22f test: fix test_config
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-11 22:25:43 +03:00
Ruslan Kuprieiev 577878c887 travis: use test-requirements.txt
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-11 21:32:47 +03:00
Ruslan Kuprieiev 31b25f7015 test: add coverage to test requirements
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-11 21:32:11 +03:00
Ruslan Kuprieiev 88692eb37c travis: add code-climate hook
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-11 21:20:05 +03:00
Ruslan Kuprieiev fb68982d07 build_linux: add "rpm" package for debian-based distros
Without it, dvc.rpm is not generated when ./build_linux.sh is
ran on debian-based distro.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-07 23:10:09 +03:00
Ruslan Kuprieiev 08d897a7c5 Merge pull request #90 from efiop/master
dvc: introduce multithreaded import and RFC
2017-06-07 14:35:04 +03:00
Ruslan Kuprieiev 4f938cec71 dvc: introduce multithreaded import and RFC, v2
This allows us to download files in a few threads.
Also includes RFC, as we can now get rid of import-bulk.py.

v2: use POOL_SIZE=4

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-07 14:16:15 +03:00
Ruslan Kuprieiev 5b810fed99 build: create standalone binary with WinPython
Recent changes for building standalone dvc binary on Linux
made it possible to do the same thing on Windows. So now
we are getting rid of WinPython and instead building
standalone dvc binary using PyInstall and packaing it
into an installer with InnoSetup.

One of the benefits is dramatically decreased installer size.
From 125M we got to only 13M!

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-02 12:53:25 -07:00
Ruslan Kuprieiev e70aa8eec1 Merge pull request #89 from efiop/master
build_linux: hotfix for build
2017-06-01 22:35:39 +03:00
Ruslan Kuprieiev 89311c1af5 build_linux: hotfix for build
Wrong INSTALL_DIR resulted in dvc being installed into /build/usr/bin.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-01 22:31:33 +03:00
Ruslan Kuprieiev 3499bc32d6 Merge pull request #88 from efiop/master
Build rpm and deb packages using PyInstaller and FPM
2017-06-01 22:05:51 +03:00
Ruslan Kuprieiev cb263cad3f build: add build_linux.sh to build rpm and deb
It uses pyintsaller to create standalone dvc binary and
then uses fpm to pack it into deb and rpm.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-06-01 21:57:34 +03:00
Ruslan Kuprieiev 315c093658 dvc: add hooks for pyinstall
Pyinstall can't resolve all dependencies on it's own, so
we need to help it with hoolks. From now on, we could
try to use pyinstall on Windows and MacOS to see if will
build standalone binaries.
2017-06-01 21:56:17 +03:00
Ruslan Kuprieiev 342532838f Merge pull request #84 from efiop/master
Bugfixes, DataCloud class, multithread data-sync and Travis
2017-05-29 12:31:32 +03:00
Ruslan Kuprieiev 111007cdcc readme: add travis status icon
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-05-28 23:05:08 +03:00
Ruslan Kuprieiev feeea6b4f8 dvc: add travis.yml
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-05-28 22:57:59 +03:00
Ruslan Kuprieiev a01ef3197c dvc: misc changes for DataCloud, 'data sync' and 'remove'
This patch introduces DataCloud class that used config to
determine proper cloud class(DataCloudAWS and DataCloudGCP
are awailable) to use in "data_sync" and "remove" commands.

This patch focuses on introducing the common class itself
saving original code and definetly needs some RFC later.

It also adds simple DataCloudLOCAL class that uses directory
as a StoragePath and cp as a sync method. Which makes testing
so much easier and covers local scenarios.

And it also introduces ability to run data sync in parallel
by collecting files first and then running sync in a number
of threads.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-05-28 22:28:58 +03:00
Ruslan Kuprieiev adcd9038ce logger: use logger.DEBUG instead of 'debug'
Otherwise unittests fail with "ValueError: Unknown level: 'debug'".

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-05-28 22:28:58 +03:00
Ruslan Kuprieiev a05a259656 Merge pull request #83 from efiop/master
logger: don't forget to call colorama.init()
2017-05-25 17:55:27 +03:00
Ruslan Kuprieiev b6dc7ed40c logger: don't forget to call colorama.init() 2017-05-25 17:53:25 +03:00
Ruslan Kuprieiev c8bdb128cc Merge pull request #80 from efiop/master
Logging, color and usage
2017-05-22 19:54:52 +03:00
Ruslan Kuprieiev e02437ed97 dvc: logger: use colorama to colorize output
Colors help readability, especially in verbose mode.
Current color map:

	Debug:   Blue
	Info:    White
	Warning: Yellow
	Error:   Red
2017-05-22 14:44:31 +03:00
Ruslan Kuprieiev 57a30764b7 dvc: add -v|--verbose and -q|-quiet
These are cmdline shortcuts to change dvc's verbosity
without fiddling around with loglevel in dvc.conf.
Both are added and handled as a common options for
all dvc commands in base cmd class.
2017-05-22 04:14:37 +03:00
Ruslan Kuprieiev 96c25799f5 logger: use standard logging python module
There is no need to keep our own implementation, as we have
more versatile cross-platform standard module for it.
For now just replacing Logger class guts with redirects to
'logging' module, and writing everything into single logging
instance.
2017-05-22 04:14:28 +03:00
Ruslan Kuprieiev d62ce5f8a4 dvc: fix usage msg 2017-05-21 03:33:13 +03:00
Ruslan Kuprieiev ff3e4d21e1 Merge pull request #79 from efiop/master
dvc: fix --help
2017-05-21 02:55:33 +03:00
Ruslan Kuprieiev 76d1477e50 dvc: fix --help
Currently dvc prints "Unimplemented or unrecognized command: --help"
and returns error code when calling dvc --help.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-05-21 02:44:12 +03:00
Ruslan Kuprieiev d03f3128c4 Merge pull request #76 from efiop/master
build: improve windows installer
2017-05-17 06:45:00 +03:00
Ruslan Kuprieiev c5d10e514c build: improve windows installer
1) Automatically update installer version by using dvc.main.VERSION
2) Make build.cmd more verbose and handle errors better
2017-05-16 20:31:20 -07:00
Dmitry Petrov 43e80bec4a Extract DvcLock logic to a separate class 2017-05-15 19:44:56 -07:00
Dmitry Petrov 29de545752 Build with more details 2017-05-10 03:01:44 -07:00
Dmitry Petrov 0a92f93b6f Track updated files. Close #61 2017-05-10 02:51:16 -07:00
Dmitry Petrov e89603069b Merge pull request #69 from efiop/master
build: add popup msgs about CreateSymLinkPrivilege
2017-05-09 23:13:25 -07:00
Ruslan Kuprieiev 73b4d3ef1f build: add popup msgs about CreateSymLinkPrivilege
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-05-08 06:54:43 -07:00
Dmitry Petrov 3b87e228de Merge pull request #67 from efiop/master
build: use well-knows SID instead of "Everyone"
2017-05-08 00:47:21 -07:00
Ruslan Kuprieiev ea1eadfe06 build: use well-knows SID instead of "Everyone"
This will fix CreateSymLinkPermission modification in systems with
locale that is other than english.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2017-05-08 00:14:25 -07:00
Dmitry Petrov 61a62d5ca1 Merge pull request #66 from efiop/master
build: add ability to tweak PATH and CreateSymLinkPermission
2017-05-06 22:36:56 -07:00
Ruslan Kuprieiev 11fb068b03 build: add ability to tweak PATH and CreateSymLinkPermission 2017-05-07 02:47:02 -07:00
Dmitry Petrov bf844426ab Merge pull request #62 from efiop/master
build: use winpython and fix bugs
2017-05-06 11:41:32 -07:00
Ruslan Kuprieiev ea298c5b54 build: use winpython and fix bugs
This will allow us to make our installer ~4 times smaller(120MB ->
30MB). This patch also has fix for PATH bug and installs dvc to whatever
direstory user specified.
2017-05-06 05:56:50 -07:00
Dmitry Petrov 5a3c81de9d Increment version 2017-05-05 16:03:23 -07:00
Dmitry Petrov 5cc2f0d941 Fix unicode() issue for python3 2017-05-05 15:38:48 -07:00
Dmitry Petrov f13b4cbfee Merge pull request #60 from efiop/master
Miniconda-based Windows installer for standalone distribution of dvc
2017-05-04 17:43:47 -07:00
Ruslan Kuprieiev 9afee734f3 dvc: add __main__.py
This allows running dvc module directly: python -m dvc
2017-05-04 16:26:28 -07:00