Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
pyfs
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
pyfs
Commits
3858a817
Commit
3858a817
authored
Jan 27, 2011
by
rfkelly0
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
some doc spelling fixes
Many more to deal with; `make spelling` for the list
parent
4c18d16d
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
148 additions
and
59 deletions
+148
-59
docs/spelling_wordlist.txt
+56
-0
docs/wrapfs/index.rst
+2
-3
fs/base.py
+1
-1
fs/contrib/tahoefs/__init__.py
+22
-21
fs/filelike.py
+1
-1
fs/osfs/__init__.py
+0
-19
fs/remote.py
+1
-1
fs/rpcfs.py
+0
-1
fs/s3fs.py
+56
-5
fs/tests/__init__.py
+1
-1
fs/tests/test_s3fs.py
+1
-1
fs/utils.py
+4
-2
fs/wrapfs/hidedotfilesfs.py
+1
-1
fs/wrapfs/lazyfs.py
+2
-2
No files found.
docs/spelling_wordlist.txt
View file @
3858a817
FS
fs
filesystem
isfile
isdir
metadata
makedir
movedir
listdir
copyfile
copydir
syspath
unicode
TODO
LAFS
contrib
tahoefs
username
dict
Auth
SSL
url
WebDAV
dexml
RemoteFileBuffer
DAVFS
davfs
pyfilesystem
filetimes
TahoeFS
ZipOpenError
FileSystem
zipfs
wrapfs
readonlyfs
UnsupportedError
LimitSizeFS
limitsizefs
args
kwds
LazyFS
lazyfs
unix
WrapFS
wrapfs
HideDotFilesFS
hidedotfilesfs
dirs
iterable
jpg
stdout
OSFS
osfs
tempfs
TempFS
mkdtemp
docs/wrapfs/index.rst
View file @
3858a817
fs.wrapfs
=========
The ``fs.wrapfs`` module adds aditional functionality to existing FS objects.
The ``fs.wrapfs`` module adds ad
d
itional functionality to existing FS objects.
.. toctree::
:maxdepth: 3
...
...
@@ -10,4 +10,4 @@ The ``fs.wrapfs`` module adds aditional functionality to existing FS objects.
hidedotfiles.rst
lazyfs.rst
limitsize.rst
readonlyfs.rst
\ No newline at end of file
readonlyfs.rst
fs/base.py
View file @
3858a817
...
...
@@ -387,7 +387,7 @@ class FS(object):
:type wildcard: string containing a wildcard, or a callable that accepts a path and returns a boolean
:param full: returns full paths (relative to the root)
:type full: bool
:param absolute: returns absolute paths (paths begining with /)
:param absolute: returns absolute paths (paths begin
n
ing with /)
:type absolute: bool
:param dirs_only: if True, only return directories
:type dirs_only: bool
...
...
fs/contrib/tahoefs/__init__.py
View file @
3858a817
...
...
@@ -2,8 +2,7 @@
fs.contrib.tahoefs
==================
Example (it will use publicly available, but slow-as-hell Tahoe-LAFS cloud):
Example (it will use publicly available, but slow-as-hell Tahoe-LAFS cloud)::
from fs.contrib.tahoefs import TahoeFS, Connection
dircap = TahoeFS.createdircap(webapi='http://pubgrid.tahoe-lafs.org')
...
...
@@ -15,7 +14,7 @@ Example (it will use publicly available, but slow-as-hell Tahoe-LAFS cloud):
f.close()
print "Now visit
%
s and enjoy :-)"
%
fs.getpathurl('foo.txt')
When any problem occurred, you can turn on internal debugging messages:
When any problem occurred, you can turn on internal debugging messages:
:
import logging
l = logging.getLogger()
...
...
@@ -25,26 +24,28 @@ When any problem occurred, you can turn on internal debugging messages:
... your Python code using TahoeFS ...
TODO:
x unicode support
x try network errors / bad happiness
x exceptions
x tests
x sanitize all path types (., /)
x support for extra large file uploads (poster module)
x Possibility to block write until upload done (Tahoe mailing list)
x Report something sane when Tahoe crashed/unavailable
x solve failed unit tests (makedir_winner, ...)
filetimes
docs & author
python3 support
remove creating blank files (depends on FileUploadManager)
* unicode support
* try network errors / bad happiness
* exceptions
* tests
* sanitize all path types (., /)
* support for extra large file uploads (poster module)
* Possibility to block write until upload done (Tahoe mailing list)
* Report something sane when Tahoe crashed/unavailable
* solve failed unit tests (makedir_winner, ...)
* file times
* docs & author
* python3 support
* remove creating blank files (depends on FileUploadManager)
TODO (Not TahoeFS specific tasks):
x RemoteFileBuffer on the fly buffering support
x RemoteFileBuffer unit tests
x RemoteFileBuffer submit to trunk
Implement FileUploadManager + faking isfile/exists of just processing file
pyfilesystem docs is outdated (rename, movedir, ...)
* RemoteFileBuffer on the fly buffering support
* RemoteFileBuffer unit tests
* RemoteFileBuffer submit to trunk
* Implement FileUploadManager + faking isfile/exists of just processing file
* pyfilesystem docs is outdated (rename, movedir, ...)
'''
...
...
fs/filelike.py
View file @
3858a817
...
...
@@ -278,7 +278,7 @@ class FileLikeBase(object):
"""
# Errors in subclass constructors can cause this to be called without
# having called FileLikeBase.__init__(). Since we need the attrs it
# initiali
s
es in cleanup, ensure we call it here.
# initiali
z
es in cleanup, ensure we call it here.
if
not
hasattr
(
self
,
"closed"
):
FileLikeBase
.
__init__
(
self
)
if
not
self
.
closed
:
...
...
fs/osfs/__init__.py
View file @
3858a817
...
...
@@ -345,23 +345,4 @@ class OSFS(OSFSXAttrMixin, OSFSWatchMixin, FS):
def
getsize
(
self
,
path
):
return
self
.
_stat
(
path
)
.
st_size
#@convert_os_errors
#def opendir(self, path):
# """A specialised opendir that returns another OSFS rather than a SubDir
#
# This is more optimal than a SubDir because no path delegation is required.
#
# """
# if path in ('', '/'):
# return self
# path = normpath(path)
# if not self.exists(path):
# raise ResourceNotFoundError(path)
# sub_path = pathjoin(self.root_path, path)
# return OSFS(sub_path,
# thread_synchronize=self.thread_synchronize,
# encoding=self.encoding,
# create=False,
# dir_mode=self.dir_mode)
fs/remote.py
View file @
3858a817
...
...
@@ -290,7 +290,7 @@ class ConnectionManagerFS(LazyFS):
operating-system integration may be added.
Since some remote FS classes can raise RemoteConnectionError during
initiali
s
ation, this class makes use of lazy initialization. The
initiali
z
ation, this class makes use of lazy initialization. The
remote FS can be specified as an FS instance, an FS subclass, or a
(class,args) or (class,args,kwds) tuple. For example::
...
...
fs/rpcfs.py
View file @
3858a817
...
...
@@ -156,7 +156,6 @@ class RPCFS(FS):
return
self
.
proxy
.
getmeta
(
meta_name
)
else
:
return
self
.
proxy
.
getmeta_default
(
meta_name
,
default
)
def
hasmeta
(
self
,
meta_name
):
return
self
.
proxy
.
hasmeta
(
meta_name
)
...
...
fs/s3fs.py
View file @
3858a817
...
...
@@ -12,6 +12,7 @@ interface for objects stored in Amazon Simple Storage Service (S3).
import
os
import
time
import
datetime
import
hashlib
import
tempfile
from
fnmatch
import
fnmatch
import
stat
as
statinfo
...
...
@@ -77,7 +78,7 @@ class S3FS(FS):
S3FS objects require the name of the S3 bucket in which to store
files, and can optionally be given a prefix under which the files
shoud be stored. The AWS public and private keys may be specified
shou
l
d be stored. The AWS public and private keys may be specified
as additional arguments; if they are not specified they will be
read from the two environment variables AWS_ACCESS_KEY_ID and
AWS_SECRET_ACCESS_KEY.
...
...
@@ -575,10 +576,60 @@ class S3FS(FS):
self
.
copy
(
src
,
dst
,
overwrite
=
overwrite
)
self
.
_s3bukt
.
delete_key
(
self
.
_s3path
(
src
))
def
get_total_size
(
self
,
path
=
""
):
"""Get total size of all files in this FS."""
prefix
=
self
.
_s3path
(
path
)
return
sum
(
k
.
size
for
k
in
self
.
_s3bukt
.
list
(
prefix
=
prefix
))
def
walkfiles
(
self
,
path
=
"/"
,
wildcard
=
None
,
dir_wildcard
=
None
,
search
=
"breadth"
,
ignore_errors
=
False
):
if
search
!=
"breadth"
or
dir_wildcard
is
not
None
:
for
item
in
super
(
S3FS
,
self
)
.
walkfiles
(
path
,
wildcard
,
dir_wildcard
,
search
,
ignore_errors
):
yield
item
else
:
prefix
=
self
.
_s3path
(
path
)
prefix_len
=
len
(
prefix
)
for
k
in
self
.
_s3bukt
.
list
(
prefix
=
prefix
):
name
=
k
.
name
[
prefix_len
:]
if
name
!=
""
:
if
not
isinstance
(
name
,
unicode
):
name
=
name
.
decode
(
"utf8"
)
if
not
name
.
endswith
(
self
.
_separator
):
if
wildcard
is
not
None
:
if
callable
(
wildcard
):
if
not
wildcard
(
name
):
continue
else
:
if
not
fnmatch
(
name
,
wildcard
):
continue
yield
abspath
(
name
)
def
walkfilesinfo
(
self
,
path
=
"/"
,
wildcard
=
None
,
dir_wildcard
=
None
,
search
=
"breadth"
,
ignore_errors
=
False
):
if
search
!=
"breadth"
or
dir_wildcard
is
not
None
:
for
item
in
super
(
S3FS
,
self
)
.
walkfiles
(
path
,
wildcard
,
dir_wildcard
,
search
,
ignore_errors
):
yield
(
item
,
self
.
getinfo
(
item
))
else
:
prefix
=
self
.
_s3path
(
path
)
prefix_len
=
len
(
prefix
)
for
k
in
self
.
_s3bukt
.
list
(
prefix
=
prefix
):
name
=
k
.
name
[
prefix_len
:]
if
name
!=
""
:
if
not
isinstance
(
name
,
unicode
):
name
=
name
.
decode
(
"utf8"
)
if
not
name
.
endswith
(
self
.
_separator
):
if
wildcard
is
not
None
:
if
callable
(
wildcard
):
if
not
wildcard
(
name
):
continue
else
:
if
not
fnmatch
(
name
,
wildcard
):
continue
yield
(
abspath
(
name
),
self
.
_get_key_info
(
k
))
def
_eq_utf8
(
name1
,
name2
):
...
...
fs/tests/__init__.py
View file @
3858a817
...
...
@@ -315,7 +315,7 @@ class FSTestCases(object):
found_c
=
True
if
"a.txt"
in
files
:
break
assert
found_c
,
"depth search order was wrong
"
assert
found_c
,
"depth search order was wrong
: "
+
str
(
list
(
self
.
fs
.
walk
(
search
=
"depth"
)))
def
test_walk_wildcard
(
self
):
self
.
fs
.
setcontents
(
'a.txt'
,
'hello'
)
...
...
fs/tests/test_s3fs.py
View file @
3858a817
...
...
@@ -17,7 +17,7 @@ from fs import s3fs
class
TestS3FS
(
unittest
.
TestCase
,
FSTestCases
,
ThreadingTestCases
):
# Disable the tests by default
__test__
=
False
#
__test__ = False
bucket
=
"test-s3fs.rfk.id.au"
...
...
fs/utils.py
View file @
3858a817
...
...
@@ -414,7 +414,9 @@ def find_duplicates(fs,
def
print_fs
(
fs
,
path
=
'/'
,
max_levels
=
5
,
file_out
=
None
,
terminal_colors
=
None
,
hide_dotfiles
=
False
,
dirs_first
=
False
):
"""Prints a filesystem listing to stdout (including sub dirs). Useful as a debugging aid.
"""Prints a filesystem listing to stdout (including sub directories).
This mostly useful as a debugging aid.
Be careful about printing a OSFS, or any other large filesystem.
Without max_levels set, this function will traverse the entire directory tree.
...
...
@@ -432,7 +434,7 @@ def print_fs(fs, path='/', max_levels=5, file_out=None, terminal_colors=None, hi
:param file_out: File object to write output to (defaults to sys.stdout)
:param terminal_colors: If True, terminal color codes will be written, set to False for non-console output.
The default (None) will select an appropriate setting for the platform.
:param hide_dotfiles: if True, files or directories begining with '.' will be removed
:param hide_dotfiles: if True, files or directories begin
n
ing with '.' will be removed
"""
...
...
fs/wrapfs/hidedotfilesfs.py
View file @
3858a817
...
...
@@ -14,7 +14,7 @@ class HideDotFilesFS(WrapFS):
"""FS wrapper class that hides dot-files in directory listings.
The listdir() function takes an extra keyword argument 'hidden'
indicating whether hidden dotfiles shoud be included in the output.
indicating whether hidden dot
-
files shoud be included in the output.
It is False by default.
"""
...
...
fs/wrapfs/lazyfs.py
View file @
3858a817
...
...
@@ -2,10 +2,10 @@
fs.wrapfs.lazyfs
================
A class for lazy initiali
s
ation of an FS object.
A class for lazy initiali
z
ation of an FS object.
This module provides the class LazyFS, an FS wrapper class that can lazily
initiali
s
e its underlying FS object.
initiali
z
e its underlying FS object.
"""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment