def test_storage_walk():
    tmp = tempfile.mkdtemp(dir=settings.TMP_PATH)
    jn = partial(os.path.join, tmp)
    try:
        storage.save(jn('file1.txt'), ContentFile(''))
        storage.save(jn('one/file1.txt'), ContentFile(''))
        storage.save(jn('one/file2.txt'), ContentFile(''))
        storage.save(jn('one/two/file1.txt'), ContentFile(''))
        storage.save(jn('one/three/file1.txt'), ContentFile(''))
        storage.save(jn('four/five/file1.txt'), ContentFile(''))
        storage.save(jn(u'four/kristi\u2603/kristi\u2603.txt'),
                     ContentFile(''))

        results = [(dir, set(subdirs), set(files))
                   for dir, subdirs, files in sorted(walk_storage(tmp))]

        assert results.pop(0) == (
            tmp, set(['four', 'one']), set(['file1.txt']))
        assert results.pop(0) == (
            jn('four'), set(['five', 'kristi\xe2\x98\x83']), set([]))
        assert results.pop(0) == (
            jn('four/five'), set([]), set(['file1.txt']))
        assert results.pop(0) == (
            jn('four/kristi\xe2\x98\x83'), set([]),
            set(['kristi\xe2\x98\x83.txt']))
        assert results.pop(0) == (
            jn('one'), set(['three', 'two']), set(['file1.txt', 'file2.txt']))
        assert results.pop(0) == (
            jn('one/three'), set([]), set(['file1.txt']))
        assert results.pop(0) == (
            jn('one/two'), set([]), set(['file1.txt']))
        assert len(results) == 0
    finally:
        rm_local_tmp_dir(tmp)
Ejemplo n.º 2
0
def test_storage_walk():
    tmp = force_str(tempfile.mkdtemp(dir=settings.TMP_PATH))
    jn = partial(os.path.join, tmp)
    try:
        storage.save(jn('file1.txt'), ContentFile(''))
        storage.save(jn('one/file1.txt'), ContentFile(''))
        storage.save(jn('one/file2.txt'), ContentFile(''))
        storage.save(jn('one/two/file1.txt'), ContentFile(''))
        storage.save(jn('one/three/file1.txt'), ContentFile(''))
        storage.save(jn('four/five/file1.txt'), ContentFile(''))
        storage.save(jn('four/kristi\u2603/kristi\u2603.txt'), ContentFile(''))

        results = [(dir, set(subdirs), set(files))
                   for dir, subdirs, files in sorted(walk_storage(tmp))]

        assert results.pop(0) == (tmp, {'four', 'one'}, {'file1.txt'})
        assert results.pop(0) == (jn('four'), {'five', 'kristi\u2603'}, set())
        assert results.pop(0) == (jn('four/five'), set(), {'file1.txt'})
        assert results.pop(0) == (
            jn('four/kristi\u2603'),
            set(),
            {'kristi\u2603.txt'},
        )
        assert results.pop(0) == (
            jn('one'),
            {'three', 'two'},
            {'file1.txt', 'file2.txt'},
        )
        assert results.pop(0) == (jn('one/three'), set(), {'file1.txt'})
        assert results.pop(0) == (jn('one/two'), set(), {'file1.txt'})
        assert len(results) == 0
    finally:
        rm_local_tmp_dir(tmp)
Ejemplo n.º 3
0
def test_storage_walk():
    tmp = tempfile.mkdtemp()
    jn = partial(os.path.join, tmp)
    try:
        storage.save(jn('file1.txt'), ContentFile(''))
        storage.save(jn('one/file1.txt'), ContentFile(''))
        storage.save(jn('one/file2.txt'), ContentFile(''))
        storage.save(jn('one/two/file1.txt'), ContentFile(''))
        storage.save(jn('one/three/file1.txt'), ContentFile(''))
        storage.save(jn('four/five/file1.txt'), ContentFile(''))
        storage.save(jn(u'four/kristi\u2603/kristi\u2603.txt'),
                     ContentFile(''))

        results = [(dir, set(subdirs), set(files))
                   for dir, subdirs, files in sorted(walk_storage(tmp))]

        assert results.pop(0) == (
            tmp, set(['four', 'one']), set(['file1.txt']))
        assert results.pop(0) == (
            jn('four'), set(['five', 'kristi\xe2\x98\x83']), set([]))
        assert results.pop(0) == (
            jn('four/five'), set([]), set(['file1.txt']))
        assert results.pop(0) == (
            jn('four/kristi\xe2\x98\x83'), set([]),
            set(['kristi\xe2\x98\x83.txt']))
        assert results.pop(0) == (
            jn('one'), set(['three', 'two']), set(['file1.txt', 'file2.txt']))
        assert results.pop(0) == (
            jn('one/three'), set([]), set(['file1.txt']))
        assert results.pop(0) == (
            jn('one/two'), set([]), set(['file1.txt']))
        assert len(results) == 0
    finally:
        rm_local_tmp_dir(tmp)
Ejemplo n.º 4
0
    def handle(self, *args, **options):
        count = 0
        for root, folders, files in walk_storage(_root):
            if not root.startswith(_subs):
                continue

            for fname in files:
                fname = os.path.join(root, fname)
                if fname.endswith(_exts):
                    data = storage.open(fname).read()
                    found = False
                    for match in _loc_re.finditer(data):
                        if not found:
                            found = True
                            print fname
                            print '-' * len(fname)
                        print match.string[match.start():match.end()]
                        count += 1

                    if found:
                        print

        print 'Strings found:', count
def test_storage_walk():
    tmp = tempfile.mkdtemp()
    jn = partial(os.path.join, tmp)
    try:
        storage.save(jn("file1.txt"), ContentFile(""))
        storage.save(jn("one/file1.txt"), ContentFile(""))
        storage.save(jn("one/file2.txt"), ContentFile(""))
        storage.save(jn("one/two/file1.txt"), ContentFile(""))
        storage.save(jn("one/three/file1.txt"), ContentFile(""))
        storage.save(jn("four/five/file1.txt"), ContentFile(""))
        storage.save(jn(u"four/kristi\u2603/kristi\u2603.txt"), ContentFile(""))

        results = [(dir, set(subdirs), set(files)) for dir, subdirs, files in sorted(walk_storage(tmp))]

        yield (eq_, results.pop(0), (tmp, set(["four", "one"]), set(["file1.txt"])))
        yield (eq_, results.pop(0), (jn("four"), set(["five", "kristi\xe2\x98\x83"]), set([])))
        yield (eq_, results.pop(0), (jn("four/five"), set([]), set(["file1.txt"])))
        yield (eq_, results.pop(0), (jn("four/kristi\xe2\x98\x83"), set([]), set(["kristi\xe2\x98\x83.txt"])))
        yield (eq_, results.pop(0), (jn("one"), set(["three", "two"]), set(["file1.txt", "file2.txt"])))
        yield (eq_, results.pop(0), (jn("one/three"), set([]), set(["file1.txt"])))
        yield (eq_, results.pop(0), (jn("one/two"), set([]), set(["file1.txt"])))
        yield (eq_, len(results), 0)
    finally:
        rm_local_tmp_dir(tmp)