Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsugar-network-client2
-rw-r--r--sugar_network/client/__init__.py5
-rw-r--r--sugar_network/client/bundle.py (renamed from sugar_network/zerosugar/bundle.py)2
-rw-r--r--sugar_network/client/cache.py (renamed from sugar_network/zerosugar/cache.py)4
-rw-r--r--sugar_network/client/clones.py (renamed from sugar_network/zerosugar/clones.py)4
-rw-r--r--sugar_network/client/commands.py3
-rw-r--r--sugar_network/client/injector.py (renamed from sugar_network/zerosugar/injector.py)9
-rw-r--r--sugar_network/client/packagekit.py (renamed from sugar_network/zerosugar/packagekit.py)4
-rw-r--r--sugar_network/client/solver.py (renamed from sugar_network/zerosugar/solver.py)16
-rw-r--r--sugar_network/client/spec.py (renamed from sugar_network/zerosugar/spec.py)90
-rw-r--r--sugar_network/resources/context.py4
-rw-r--r--sugar_network/resources/implementation.py7
-rw-r--r--sugar_network/toolkit/licenses.py (renamed from sugar_network/zerosugar/licenses.py)0
-rw-r--r--sugar_network/toolkit/util.py77
-rw-r--r--sugar_network/zerosugar/__init__.py14
-rw-r--r--tests/__init__.py2
-rw-r--r--tests/units/__main__.py1
-rw-r--r--tests/units/client/__main__.py3
-rwxr-xr-xtests/units/client/clones.py (renamed from tests/units/zerosugar/clones.py)4
-rwxr-xr-xtests/units/client/commands.py3
-rwxr-xr-xtests/units/client/injector.py (renamed from tests/units/zerosugar/injector.py)3
-rwxr-xr-xtests/units/client/offline_commands.py3
-rwxr-xr-xtests/units/client/online_commands.py3
-rwxr-xr-xtests/units/client/spec.py (renamed from tests/units/zerosugar/spec.py)2
-rw-r--r--tests/units/zerosugar/__init__.py9
-rw-r--r--tests/units/zerosugar/__main__.py10
26 files changed, 120 insertions, 164 deletions
diff --git a/sugar-network-client b/sugar-network-client
index befaa36..fbb1244 100755
--- a/sugar-network-client
+++ b/sugar-network-client
@@ -29,8 +29,8 @@ import sugar_network_webui as webui
from sugar_network import db, toolkit, client, node
from sugar_network.toolkit import sugar, mountpoints
from sugar_network.toolkit.router import IPCRouter
+from sugar_network.client import clones
from sugar_network.client.commands import ClientCommands
-from sugar_network.zerosugar import clones
from sugar_network.node import stats_node, stats_user, slave
from sugar_network.resources.volume import Volume
from sugar_network.toolkit import Option
diff --git a/sugar_network/client/__init__.py b/sugar_network/client/__init__.py
index 3962971..f1593d1 100644
--- a/sugar_network/client/__init__.py
+++ b/sugar_network/client/__init__.py
@@ -107,11 +107,6 @@ def path(*args):
return str(result)
-def clones(*args, **kwargs):
- import sugar_network.zerosugar.clones
- return sugar_network.zerosugar.clones.walk(*args, **kwargs)
-
-
def Client(url=None, sugar_auth=True, **session):
from sugar_network.toolkit import http
if url is None:
diff --git a/sugar_network/zerosugar/bundle.py b/sugar_network/client/bundle.py
index 06cee45..956619b 100644
--- a/sugar_network/zerosugar/bundle.py
+++ b/sugar_network/client/bundle.py
@@ -18,7 +18,7 @@ import tarfile
import zipfile
from os.path import join
-from sugar_network.zerosugar.spec import Spec
+from sugar_network.client.spec import Spec
class BundleError(Exception):
diff --git a/sugar_network/zerosugar/cache.py b/sugar_network/client/cache.py
index 30038bf..082ac48 100644
--- a/sugar_network/zerosugar/cache.py
+++ b/sugar_network/client/cache.py
@@ -19,11 +19,11 @@ import logging
from os.path import exists, join
from sugar_network.client import Client, local_root
-from sugar_network.zerosugar.bundle import Bundle
+from sugar_network.client.bundle import Bundle
from sugar_network.toolkit import BUFFER_SIZE, pipe, util
-_logger = logging.getLogger('zerosugar.cache')
+_logger = logging.getLogger('client.cache')
def get(guid):
diff --git a/sugar_network/zerosugar/clones.py b/sugar_network/client/clones.py
index d4351f1..4156fb4 100644
--- a/sugar_network/zerosugar/clones.py
+++ b/sugar_network/client/clones.py
@@ -21,7 +21,7 @@ import logging
from os.path import join, exists, lexists, relpath, dirname, basename, isdir
from os.path import abspath, islink
-from sugar_network.zerosugar.spec import Spec
+from sugar_network.client.spec import Spec
from sugar_network.toolkit.inotify import Inotify, \
IN_DELETE_SELF, IN_CREATE, IN_DELETE, IN_CLOSE_WRITE, \
IN_MOVED_TO, IN_MOVED_FROM
@@ -29,7 +29,7 @@ from sugar_network import client
from sugar_network.toolkit import coroutine, util, exception
-_logger = logging.getLogger('zerosugar.clones')
+_logger = logging.getLogger('client.clones')
def walk(context):
diff --git a/sugar_network/client/commands.py b/sugar_network/client/commands.py
index 28d78db..545178c 100644
--- a/sugar_network/client/commands.py
+++ b/sugar_network/client/commands.py
@@ -21,8 +21,7 @@ from os.path import join, exists
from sugar_network import db, client, node
from sugar_network.toolkit import netlink, mountpoints, router
from sugar_network.toolkit.router import Request, Router
-from sugar_network.client import journal
-from sugar_network.zerosugar import clones, injector
+from sugar_network.client import journal, clones, injector
from sugar_network.resources.volume import Volume, Commands
from sugar_network.node.slave import PersonalCommands
from sugar_network.toolkit import zeroconf, coroutine, util, exception, enforce
diff --git a/sugar_network/zerosugar/injector.py b/sugar_network/client/injector.py
index bea562f..badd321 100644
--- a/sugar_network/zerosugar/injector.py
+++ b/sugar_network/client/injector.py
@@ -20,8 +20,7 @@ import logging
from os.path import join, exists, basename, dirname
from sugar_network import client
-from sugar_network.client import journal
-from sugar_network.zerosugar import cache
+from sugar_network.client import journal, cache
from sugar_network.toolkit import pipe, lsb_release, util, sugar
@@ -31,7 +30,7 @@ _PMS_PATHS = {
'Ubuntu': '/var/lib/dpkg/status',
}
-_logger = logging.getLogger('zerosugar.injector')
+_logger = logging.getLogger('client.injector')
_pms_path = _PMS_PATHS.get(lsb_release.distributor_id())
_mtime = None
@@ -98,7 +97,7 @@ def _make(context):
if to_install:
pipe.trace('Install %s package(s)',
', '.join([i['name'] for i in to_install]))
- from sugar_network.zerosugar import packagekit
+ from sugar_network.client import packagekit
packagekit.install(to_install)
for impl in solution:
@@ -169,7 +168,7 @@ def _solve(context):
pipe.trace('Reuse cached solution')
return solution
- from sugar_network.zerosugar import solver
+ from sugar_network.client import solver
solution = solver.solve(context)
_set_cached_solution(cached_path, solution)
diff --git a/sugar_network/zerosugar/packagekit.py b/sugar_network/client/packagekit.py
index f17ba57..6234b12 100644
--- a/sugar_network/zerosugar/packagekit.py
+++ b/sugar_network/client/packagekit.py
@@ -30,7 +30,7 @@ from sugar_network.toolkit import pipe, enforce
_PK_CONFILE = '/etc/PackageKit/PackageKit.conf'
-_logger = logging.getLogger('zerosugar.packagekit')
+_logger = logging.getLogger('client.packagekit')
_pk = None
_pk_max_resolve = 100
@@ -164,7 +164,7 @@ class _Transaction(object):
self.error_details = details
def __package_cb(self, status, pk_id, summary):
- from sugar_network.zerosugar import solver
+ from sugar_network.client import solver
package_name, version, arch, __ = pk_id.split(';')
clean_version = solver.try_cleanup_distro_version(version)
diff --git a/sugar_network/zerosugar/solver.py b/sugar_network/client/solver.py
index 6719179..afcf245 100644
--- a/sugar_network/zerosugar/solver.py
+++ b/sugar_network/client/solver.py
@@ -17,10 +17,8 @@ import sys
import logging
from os.path import isabs, join, dirname
-from sugar_network.client import IPCClient
-from sugar_network.toolkit import lsb_release, pipe, exception
-from sugar_network.zerosugar import packagekit
-from sugar_network.zerosugar.spec import parse_version
+from sugar_network.client import IPCClient, packagekit
+from sugar_network.toolkit import util, lsb_release, pipe, exception
sys.path.insert(0, join(dirname(__file__), '..', 'lib', 'zeroinstall'))
@@ -219,7 +217,7 @@ class _Feed(model.ZeroInstallFeed):
top_package = packages[0]
impl = _Implementation(self, self.context, None)
- impl.version = parse_version(top_package['version'])
+ impl.version = util.parse_version(top_package['version'])
impl.released = 0
impl.arch = '*-%s' % top_package['arch']
impl.upstream_stability = model.stability_levels['packaged']
@@ -233,7 +231,7 @@ class _Feed(model.ZeroInstallFeed):
impl_id = release['guid']
impl = _Implementation(self, impl_id, None)
- impl.version = parse_version(release['version'])
+ impl.version = util.parse_version(release['version'])
impl.released = 0
impl.arch = release['arch']
impl.upstream_stability = model.stability_levels[release['stability']]
@@ -259,7 +257,7 @@ class _Feed(model.ZeroInstallFeed):
def implement_sugar(self, sugar_version):
impl = _Implementation(self, self.context, None)
- impl.version = parse_version(sugar_version)
+ impl.version = util.parse_version(sugar_version)
impl.released = 0
impl.arch = '*-*'
impl.upstream_stability = model.stability_levels['packaged']
@@ -284,8 +282,8 @@ class _Dependency(model.InterfaceDependency):
for not_before, before in data.get('restrictions') or []:
restriction = model.VersionRangeRestriction(
- not_before=parse_version(not_before),
- before=parse_version(before))
+ not_before=util.parse_version(not_before),
+ before=util.parse_version(before))
self.restrictions.append(restriction)
@property
diff --git a/sugar_network/zerosugar/spec.py b/sugar_network/client/spec.py
index 37d9e39..8ba87da 100644
--- a/sugar_network/zerosugar/spec.py
+++ b/sugar_network/client/spec.py
@@ -19,8 +19,8 @@ import logging
from os.path import join, exists, dirname
from ConfigParser import ConfigParser
-from sugar_network.zerosugar.licenses import GOOD_LICENSES
-from sugar_network.toolkit import exception, enforce
+from sugar_network.toolkit.licenses import GOOD_LICENSES
+from sugar_network.toolkit import util, enforce
_LIST_SEPARATOR = ';'
@@ -43,16 +43,6 @@ _FIELDS = {
_ARCHES = ['all', 'any']
_STABILITIES = ('insecure', 'buggy', 'developer', 'testing', 'stable')
-_VERSION_RE = re.compile('-([a-z]*)')
-_VERSION_MOD_TO_VALUE = {
- 'pre': -2,
- 'rc': -1,
- '': 0,
- 'post': 1,
- 'r': 1,
- }
-_VERSION_VALUE_TO_MOD = {}
-
_RESTRICTION_RE = re.compile('(>=|<|=)\\s*([0-9.]+)')
_logger = logging.getLogger('sweets-recipe')
@@ -208,7 +198,7 @@ class Spec(object):
if not self['description']:
self._fields['description'] = self['summary']
self._fields['version'] = \
- format_version(parse_version(self['version']))
+ util.format_version(util.parse_version(self['version']))
if not self.archives:
self.archives.append(_Archive(self._config, 'DEFAULT'))
@@ -261,70 +251,6 @@ class Spec(object):
self.archives.append(_Archive(self._config, section))
-def parse_version(version_string):
- """Convert a version string to an internal representation.
-
- The parsed format can be compared quickly using the standard Python
- functions. Adapted Zero Install version.
-
- :param version_string:
- version in format supported by 0install
- :returns:
- array of arrays of integers
-
- """
- if version_string is None:
- return None
-
- parts = _VERSION_RE.split(version_string)
- if parts[-1] == '':
- del parts[-1] # Ends with a modifier
- else:
- parts.append('')
- enforce(parts, ValueError, 'Empty version string')
-
- length = len(parts)
- try:
- for x in range(0, length, 2):
- part = parts[x]
- if part:
- parts[x] = [int(i) for i in parts[x].split('.')]
- else:
- parts[x] = [] # (because ''.split('.') == [''], not [])
- for x in range(1, length, 2):
- parts[x] = _VERSION_MOD_TO_VALUE[parts[x]]
- return parts
- except ValueError as error:
- exception()
- raise RuntimeError('Invalid version format in "%s": %s' %
- (version_string, error))
- except KeyError as error:
- raise RuntimeError('Invalid version modifier in "%s": %s' %
- (version_string, error))
-
-
-def format_version(version):
- """Convert internal version representation back to string."""
- if version is None:
- return None
-
- if not _VERSION_VALUE_TO_MOD:
- for mod, value in _VERSION_MOD_TO_VALUE.items():
- _VERSION_VALUE_TO_MOD[value] = mod
-
- version = version[:]
- length = len(version)
-
- for x in range(0, length, 2):
- version[x] = '.'.join([str(i) for i in version[x]])
- for x in range(1, length, 2):
- version[x] = '-' + _VERSION_VALUE_TO_MOD[version[x]]
- if version[-1] == '-':
- del version[-1]
-
- return ''.join(version)
-
-
class _Section(object):
def __init__(self, config, section):
@@ -422,14 +348,14 @@ def _parse_requires(requires):
while len(parts) >= 3:
if parts[0] == '>=':
- not_before = format_version(parse_version(parts[1]))
+ not_before = util.format_version(util.parse_version(parts[1]))
elif parts[0] == '<':
- before = format_version(parse_version(parts[1]))
+ before = util.format_version(util.parse_version(parts[1]))
elif parts[0] == '=':
- not_before = format_version(parse_version(parts[1]))
- before = parse_version(parts[1])
+ not_before = util.format_version(util.parse_version(parts[1]))
+ before = util.parse_version(parts[1])
before[-2][-1] += 1
- before = format_version(before)
+ before = util.format_version(before)
del parts[:3]
enforce(not parts or not parts[0].strip(),
diff --git a/sugar_network/resources/context.py b/sugar_network/resources/context.py
index c917f0c..dcc45c5 100644
--- a/sugar_network/resources/context.py
+++ b/sugar_network/resources/context.py
@@ -19,8 +19,8 @@ from os.path import join
from sugar_network import db, resources, static
from sugar_network.resources.volume import Resource
-from sugar_network.zerosugar import clones
-from sugar_network.zerosugar.spec import Spec
+from sugar_network.client import clones
+from sugar_network.client.spec import Spec
from sugar_network.node import obs
from sugar_network.toolkit import coroutine, exception
diff --git a/sugar_network/resources/implementation.py b/sugar_network/resources/implementation.py
index fd190cc..1617b8c 100644
--- a/sugar_network/resources/implementation.py
+++ b/sugar_network/resources/implementation.py
@@ -18,14 +18,13 @@
import xapian
from sugar_network import db, resources
-from sugar_network.zerosugar.licenses import GOOD_LICENSES
-from sugar_network.zerosugar.spec import parse_version
from sugar_network.resources.volume import Resource
-from sugar_network.toolkit import enforce
+from sugar_network.toolkit.licenses import GOOD_LICENSES
+from sugar_network.toolkit import util, enforce
def _encode_version(version):
- version = parse_version(version)
+ version = util.parse_version(version)
# Convert to [(`version`, `modifier`)]
version = zip(*([iter(version)] * 2))
major, modifier = version.pop(0)
diff --git a/sugar_network/zerosugar/licenses.py b/sugar_network/toolkit/licenses.py
index 5cfc39d..5cfc39d 100644
--- a/sugar_network/zerosugar/licenses.py
+++ b/sugar_network/toolkit/licenses.py
diff --git a/sugar_network/toolkit/util.py b/sugar_network/toolkit/util.py
index c94d22f..889d7a4 100644
--- a/sugar_network/toolkit/util.py
+++ b/sugar_network/toolkit/util.py
@@ -16,6 +16,7 @@
"""Swiss knife module."""
import os
+import re
import json
import logging
import hashlib
@@ -24,9 +25,19 @@ import collections
from os.path import exists, join, islink, isdir, dirname, basename, abspath
from os.path import lexists, isfile
-from sugar_network.toolkit import cachedir, enforce
+from sugar_network.toolkit import cachedir, exception, enforce
+_VERSION_RE = re.compile('-([a-z]*)')
+_VERSION_MOD_TO_VALUE = {
+ 'pre': -2,
+ 'rc': -1,
+ '': 0,
+ 'post': 1,
+ 'r': 1,
+ }
+_VERSION_VALUE_TO_MOD = {}
+
_logger = logging.getLogger('toolkit.util')
@@ -58,6 +69,70 @@ def init_logging(debug_level):
self._log(8, message, args, **kwargs)
+def parse_version(version_string):
+ """Convert a version string to an internal representation.
+
+ The parsed format can be compared quickly using the standard Python
+ functions. Adapted Zero Install version.
+
+ :param version_string:
+ version in format supported by 0install
+ :returns:
+ array of arrays of integers
+
+ """
+ if version_string is None:
+ return None
+
+ parts = _VERSION_RE.split(version_string)
+ if parts[-1] == '':
+ del parts[-1] # Ends with a modifier
+ else:
+ parts.append('')
+ enforce(parts, ValueError, 'Empty version string')
+
+ length = len(parts)
+ try:
+ for x in range(0, length, 2):
+ part = parts[x]
+ if part:
+ parts[x] = [int(i) for i in parts[x].split('.')]
+ else:
+ parts[x] = [] # (because ''.split('.') == [''], not [])
+ for x in range(1, length, 2):
+ parts[x] = _VERSION_MOD_TO_VALUE[parts[x]]
+ return parts
+ except ValueError as error:
+ exception()
+ raise RuntimeError('Invalid version format in "%s": %s' %
+ (version_string, error))
+ except KeyError as error:
+ raise RuntimeError('Invalid version modifier in "%s": %s' %
+ (version_string, error))
+
+
+def format_version(version):
+ """Convert internal version representation back to string."""
+ if version is None:
+ return None
+
+ if not _VERSION_VALUE_TO_MOD:
+ for mod, value in _VERSION_MOD_TO_VALUE.items():
+ _VERSION_VALUE_TO_MOD[value] = mod
+
+ version = version[:]
+ length = len(version)
+
+ for x in range(0, length, 2):
+ version[x] = '.'.join([str(i) for i in version[x]])
+ for x in range(1, length, 2):
+ version[x] = '-' + _VERSION_VALUE_TO_MOD[version[x]]
+ if version[-1] == '-':
+ del version[-1]
+
+ return ''.join(version)
+
+
def readline(stream, limit=None):
line = bytearray()
while limit is None or len(line) < limit:
diff --git a/sugar_network/zerosugar/__init__.py b/sugar_network/zerosugar/__init__.py
deleted file mode 100644
index 63b8b6e..0000000
--- a/sugar_network/zerosugar/__init__.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (C) 2010-2012 Aleksey Lim
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/tests/__init__.py b/tests/__init__.py
index e3827ba..0a6cfbc 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -21,7 +21,7 @@ from sugar_network.client import journal
from sugar_network.client.commands import ClientCommands
from sugar_network import db, client, node, toolkit
from sugar_network.db import env
-from sugar_network.zerosugar import injector, solver
+from sugar_network.client import injector, solver
from sugar_network.resources.user import User
from sugar_network.resources.context import Context
from sugar_network.resources.implementation import Implementation
diff --git a/tests/units/__main__.py b/tests/units/__main__.py
index 105c117..22664cb 100644
--- a/tests/units/__main__.py
+++ b/tests/units/__main__.py
@@ -6,7 +6,6 @@ from toolkit.__main__ import *
from db.__main__ import *
from node.__main__ import *
from resources.__main__ import *
-from zerosugar.__main__ import *
from client.__main__ import *
if __name__ == '__main__':
diff --git a/tests/units/client/__main__.py b/tests/units/client/__main__.py
index 5b47d30..64b37b7 100644
--- a/tests/units/client/__main__.py
+++ b/tests/units/client/__main__.py
@@ -2,11 +2,14 @@
from __init__ import tests
+from clones import *
from commands import *
+from injector import *
from journal import *
from offline_commands import *
from online_commands import *
from server_commands import *
+from spec import *
if __name__ == '__main__':
tests.main()
diff --git a/tests/units/zerosugar/clones.py b/tests/units/client/clones.py
index 58a163b..d02fb48 100755
--- a/tests/units/zerosugar/clones.py
+++ b/tests/units/client/clones.py
@@ -10,12 +10,12 @@ from __init__ import tests
from sugar_network.resources.user import User
from sugar_network.resources.context import Context
-from sugar_network.zerosugar import clones
+from sugar_network.client import clones
from sugar_network.toolkit import coroutine, util, sugar
from sugar_network.resources.volume import Volume
-class ImplementationsTest(tests.Test):
+class CloneTest(tests.Test):
def setUp(self):
tests.Test.setUp(self)
diff --git a/tests/units/client/commands.py b/tests/units/client/commands.py
index 0b93e11..c4b7b7d 100755
--- a/tests/units/client/commands.py
+++ b/tests/units/client/commands.py
@@ -4,9 +4,8 @@
from __init__ import tests
from sugar_network import db, client
-from sugar_network.client import journal
+from sugar_network.client import journal, injector
from sugar_network.client.commands import ClientCommands
-from sugar_network.zerosugar import injector
from sugar_network.resources.volume import Volume
from sugar_network.toolkit.router import IPCRouter
from sugar_network.toolkit import coroutine
diff --git a/tests/units/zerosugar/injector.py b/tests/units/client/injector.py
index 67771fe..d15ec59 100755
--- a/tests/units/zerosugar/injector.py
+++ b/tests/units/client/injector.py
@@ -19,8 +19,7 @@ from sugar_network.node import obs
from sugar_network.resources.user import User
from sugar_network.resources.context import Context
from sugar_network.resources.implementation import Implementation
-from sugar_network.zerosugar import packagekit, injector, clones, solver
-from sugar_network.client import IPCClient
+from sugar_network.client import IPCClient, packagekit, injector, clones, solver
from sugar_network import client as local
diff --git a/tests/units/client/offline_commands.py b/tests/units/client/offline_commands.py
index decf88d..4fb3a17 100755
--- a/tests/units/client/offline_commands.py
+++ b/tests/units/client/offline_commands.py
@@ -6,11 +6,10 @@ from os.path import exists
from __init__ import tests, src_root
from sugar_network import client
-from sugar_network.client import IPCClient
+from sugar_network.client import IPCClient, clones
from sugar_network.client.commands import ClientCommands
from sugar_network.toolkit.router import IPCRouter
from sugar_network.resources.volume import Volume
-from sugar_network.zerosugar import clones
from sugar_network.toolkit import coroutine
diff --git a/tests/units/client/online_commands.py b/tests/units/client/online_commands.py
index 2bd2944..69c77c2 100755
--- a/tests/units/client/online_commands.py
+++ b/tests/units/client/online_commands.py
@@ -8,8 +8,7 @@ from os.path import exists
from __init__ import tests, src_root
from sugar_network import client, db
-from sugar_network.client import IPCClient, journal
-from sugar_network.zerosugar import clones, injector
+from sugar_network.client import IPCClient, journal, clones, injector
from sugar_network.toolkit import coroutine
from sugar_network.toolkit.router import Request, Redirect
from sugar_network.client.commands import ClientCommands
diff --git a/tests/units/zerosugar/spec.py b/tests/units/client/spec.py
index 1a3745b..a9b4aae 100755
--- a/tests/units/zerosugar/spec.py
+++ b/tests/units/client/spec.py
@@ -5,7 +5,7 @@ from cStringIO import StringIO
from __init__ import tests
-from sugar_network.zerosugar import spec
+from sugar_network.client import spec
class SpecTest(tests.Test):
diff --git a/tests/units/zerosugar/__init__.py b/tests/units/zerosugar/__init__.py
deleted file mode 100644
index 345c327..0000000
--- a/tests/units/zerosugar/__init__.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# sugar-lint: disable
-
-import sys
-from os.path import dirname, join, abspath
-
-src_root = abspath(join(dirname(__file__), '..', '..', '..'))
-sys.path.insert(0, src_root)
-
-import tests
diff --git a/tests/units/zerosugar/__main__.py b/tests/units/zerosugar/__main__.py
deleted file mode 100644
index feb487f..0000000
--- a/tests/units/zerosugar/__main__.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# sugar-lint: disable
-
-from __init__ import tests
-
-from clones import *
-from injector import *
-from spec import *
-
-if __name__ == '__main__':
- tests.main()