- 20 Dec, 2002 2 commits
-
-
Stephan Richter authored
I am glad to make this commit that fixes up a lot of the FTP implementation. I fixed the behavior of many of the FTP commands, including LIST, SIZE, and CWD. I moved the original VFSFile/DirectoryView into abstract classes and wrote a special implementation for each content type, which makes the code much more flexible. Also I finally implemented a smart way of adding files via VFS through file extension introspection, based on Jim's ExtensionViewName proposal. I am adding documentation in the DevelCookbook right now and will later add a README file. TODOs: - make VFS View names flexible, so that file extensions specify views. - Simplify ZCML directives, so that one can add new extensions for Add views quicker. A solution might look like that: <vfs:view name=".dtml" for="Zope.App.OFS.Container.IAdding." factory=".DTMLPageAdd." permission="Zope.ManageContent"> <vfs:extension name=".html" /> <vfs:extension name=".xul" /> <vfs:extension name=".xml" /> ... </vfs:view> This method would also be good for defining a default fiel extension. - Show an object with its default file extension.
-
Barry Warsaw authored
-
- 19 Dec, 2002 1 commit
-
-
Jeremy Hylton authored
-
- 18 Dec, 2002 1 commit
-
-
Barry Warsaw authored
bsddb3Storage becomes BDBStorage Full becomes BDBFullStorage Minimal becomes BDBMinimalStorage Removing MinimalReplicated.py, Packless.py, and base.py
-
- 17 Dec, 2002 3 commits
-
-
Fred Drake authored
- start_zeo_server(): Only quote the command line args for Windows; these break the tests on Linux, which would only need the quoting if the shell were involved: it's not for os.spawnve().
-
Fred Drake authored
-
Lennart Regebro authored
Merge to HEAD: The ZEO unit tests and wo_pcgi.py didn't run on Windows if the path to the python executable included a space.
-
- 16 Dec, 2002 3 commits
-
-
Barry Warsaw authored
storage's artifacts. Some tests expect to reconnect in read-only mode to a previously created storage.
-
Jeremy Hylton authored
Starts near the end of the file and reads forward, looking for a complete snapshot. If it doesn't find one, move farther from the end and repeat. XXX This approach does N**2 reads, where N is the number of times we need to move further back and retry. When we move backwards, we double the distance from the end of the file.
-
Jeremy Hylton authored
This processes the whole file from the beginning collecting info about active / blocked transactions. This version is preliminary because it needs to start at the end and backup until it has enough information.
-
- 13 Dec, 2002 18 commits
-
-
Barry Warsaw authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
tpc_begin() doesn't return anything anyway. Rename transaction to txn to make lines shorter.
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
Should the deadline by checked inside this final loop waiting for wrappers to finish?
-
Jeremy Hylton authored
Get ZClasses working. (Tested this time.) Add some more comments and add XDECREFs to avoid leaks. Remove redundant check of ExtensionClass in get_class(). Apparent fix for ZClass persistent_id problem.
-
Barry Warsaw authored
doesn't put .loop() in the package namespace. Use the full dotted path to the function.
-
Barry Warsaw authored
which doesn't put .loop() in the package namespace. Use the full dotted path to the function.
-
Barry Warsaw authored
which doesn't put .loop() in the package namespace. Use the full dotted path to the function. Also, fix a docstring typo.
-
Barry Warsaw authored
ThreadedAsync which doesn't put .loop() in the package namespace. Use the full dotted path to the function.
-
Jeremy Hylton authored
-
Barry Warsaw authored
-
Barry Warsaw authored
FileIterator.__len__(): Add this for Python 2.1 support.
-
Barry Warsaw authored
Windows doesn't have it until Python 2.3
-
Barry Warsaw authored
-
Barry Warsaw authored
admin address of the subprocess. Better to gulp 'em now than sip 'em later. shutdown_zeo_server(): Same thing here, but notice that on Windows, the recv() can raise an ECONNRESET, which I believe we can just ignore. (Will test this with Tim shortly.)
-
Barry Warsaw authored
Instead use self.new_dest() to get a new destination storage. XXX It would still be useful to check for cross-storage-implementation restores. IOW, fs->bdb, bdb->fs (others?).
-
- 12 Dec, 2002 12 commits
-
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Barry Warsaw authored
the warnings until the other fixes are ported to ZODB4. Added an XXX to memind me.
-
Barry Warsaw authored
function. This was a nasty decoy (am I using that term correctly? :). Because we're worried about backward compatibility, for now we'll rebind asyncore.loop() to a function that prints a warning and then calls loop(). Eventually we'll take this away so you have to call ThreadedAsync.loop() explicitly.
-
Barry Warsaw authored
through the sneakily rebound asyncore.loop().
-
Barry Warsaw authored
rename UnixTests to FileStorageTests, and add a simple BDBTests class to use Berkeley Full storage. Rewrite to use the new forker module api. WindowsTests: Removed.
-
Barry Warsaw authored
rename UnixConnectionTests to FileStorageConnectionTests, and add a simple BDBConnectionTests class to use Berkeley Full storage. WindowsConnectionTests: Removed.
-
Barry Warsaw authored
DummyDB.invalidate(): Add **kws since some of the tests try to use keyword arguments. Removed redundant keyword arguments from various openClientStorage() calls.
-
Barry Warsaw authored
-
Barry Warsaw authored
makes little sense to call the server script `winserver.py'. That's gone now, in favor of this zeoserver.py script. Changes include: main(): Accept a -C option pointing to a temp file containing a ZConfig storage section. This reads the file and creates the so described storage, then removes the temp config file. It creates an administrative server which opens an `admin' port which is used to os._exit() this process, with the following protocol. The first time the admin port is connected to, an ack character is sent from zeoserver. This is necessary to coordinate the tests so that they are assured the server is running and responding before it tries to do more. Otherwise, some tests were vulnerable to timing bugs where the shutdown connect happened before the server was ready to accept them. The second connect exits the server process just like before. Copious log entries are written. This script also cleans up after the storages are closed, by calling the storage's .cleanup() method if it exists (FileStorage and the Berkeley storages both implement this method).
-