of this is aimed at not paying the maintenance price of supporting
Python versions prior to 2.4 any longer, plus a little bit of just
getting dead code out of the way.
* lib/compat.py
Remove as unused.
* bin/cvsdbadmin,
* bin/loginfo-handler,
* bin/make-database,
* bin/svndbadmin,
* lib/accept.py,
* lib/blame.py,
* lib/cvsdb.py,
* lib/popen.py,
* lib/query.py,
* lib/sapi.py,
* lib/vcauth/forbidden/__init__.py
* lib/vcauth/forbiddenre/__init__.py,
* lib/vcauth/svnauthz/__init__.py,
* lib/vclib/__init__.py,
* lib/vclib/ccvs/blame.py,
* lib/win32popen.py,
* tests/timelog.py
Replace explicit import and use of the 'string' module with newer constructs.
* bin/standalone.py,
* lib/viewvc.py
No longer use 'compat' module. Replace explicit import and use of
the 'string' module with newer constructs.
* lib/dbi.py
Use calender.timegm() instead of compat.timegm().
* lib/vcauth/__init__.py
Lose unused module imports.
* lib/config.py,
Replace explicit import and use of the 'string' module with newer
constructs where possible. Lose old ConfigParser patch-up code for
Python 1.5.1.
* lib/vclib/ccvs/ccvs.py
Replace explicit import and use of the 'string' module with newer
constructs where possible. Import _path_join() from bincvs, and use
it instead of a bunch of copy-and-pasted string join() statements
throughout.
* lib/vclib/ccvs/__init__.py
(cvs_strptime): Moved here from the 'compat' module.
* lib/vclib/ccvs/bincvs.py
(): No longer use 'compat' module. Replace explicit import and use
of the 'string' module with newer constructs.
(_path_join): New, used now instead of a bunch of copy-and-pasted
string join() statements throughout.
* viewvc-install
Don't use the 'compat' module any more.
Also, so some rearranging of non-critical bits.
* misc/: New directory.
* misc/py2html.py: Moved from 'lib/py2html.py'.
* misc/PyFontify.py: Moved from 'lib/PyFontify.py'.
* misc/elemx/: Moved from 'elemx/'.
* misc/tparse/: Moved from 'tparse/'.
* tools/make-release
Omit 'misc' directory from releases, too.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2437 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/popen.py
(_pipe.close): use os.waitpid instead of os.wait to avoid messing with
processes that dont belong us
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1286 8cb11bc2-c004-0410-86c3-e597b4017df7
Patch by Paul Sokolovsky <psokolovsky@vasoftware.com>.
* lib/popen.py
(pipe_cmds): Instead of storing only the process ID of the last
child process in a multi-process pipe, keep them all, and wait on
them all to finish.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1278 8cb11bc2-c004-0410-86c3-e597b4017df7
BlameSource. Maybe now we don't need BlameSourceKludge anymore...
* lib/vclib/svn/__init__.py
(BlameSource.__init__): add missing first_rev parameter
(BlameSource.__getitem__): remove check for fp.eof() which may
return true when the process has finished executing but data
can still be read from the pipe
(BlameSource.__getitem__, BlameSourceKludge.__getitem__):
use regex to parse blame info so we can show a detailed error
message instead of just an exception when split() or int() fail
* lib/popen.py
(_pipe.eof): add note about implementation problem
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1236 8cb11bc2-c004-0410-86c3-e597b4017df7
output from last command goes. For now only the unix implementation
respects it, windows implementation always writes to standard output
as before.
* lib/popen.py
(pipe_cmds): add "out" argument
* lib/viewcvs.py
(MarkupShell.__call__): update call to pipe_cmds()
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1220 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/popen.py
use string functions instead of methods
* lib/viewcvs.py
use apply() function instead of **arg calling syntax
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@697 8cb11bc2-c004-0410-86c3-e597b4017df7
file handle instead of no handle at all when discarding the child process's
standard error output. Without this change, some versions of RCS crash when
they try to print warning messages.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@659 8cb11bc2-c004-0410-86c3-e597b4017df7
- removed nonblocking implementation of win32popen.MakeSpyPipe(). It added
unnecessary complexity and had a flaw which made it inefficient to boot.
* lib/popen.py:
- changes to work with new win32popen.CreatePipe() signature
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@653 8cb11bc2-c004-0410-86c3-e597b4017df7
- Filled in ModPythonServer and AspServer header() methods to make use of
the new http 'status' parameter. Also, changed CgiServer's header()
method to ignore the status parameter under IIS to prevent the server
from discarding the ViewCVS output and instead sending a static error
page.
- ModPythonFile and AspFile classes have been eliminated and replaced
with a more generic File class. All server classes have new write()
and flush() methods.
- Common code from AspServer and ModPythonServer has been moved into
a base class called ThreadedServer. AspProxy is renamed to
ThreadedServerProxy.
- All server classes now inherit from a new base class called Server
which contains the small amount of code common to all of them.
- added fix_iis_path_info() function, renamed IIS_FixURL() to
fix_iis_url()
- renamed getFile() methods to file()
* lib/viewcvs.py
- Eliminated global server variable. Changed some scattered
server.escape() calls into cgi.escape() calls. Got around other uses
of the variable by adding a server member to the Request class.
- Deleted gstein's strongly worded comment about the quality of the sapi
hack :)
- Page-global 'g_name_printed' is now passed as a normal parameter
called 'name_printed' to the augment_entry() function
- Got rid of some confusing string manipulation in human_readable_diff()
- added 'server' parameter to viewcvs.main() to avoid relying on the
sapi.server global variable
* cgi/viewcvs.cgi, windows/viewcvs.py, windows/viewcvs.asp
- Added 'server' parameter to viewcvs.main() calls
* standalone.py:
- Changed StandaloneServer.header() method to accept http status code
- Added 'server' parameter to viewcvs.main() call
* lib/query.py
- added 'server' parameter to query.main() to avoid relying on the
sapi.server global variable
- got rid of global 'server' variable and page-global 'viewcvs_link'
variable, instead those values are passed as function parameters
* cgi/query.cgi, windows/query.py, windows/query.asp
- Added 'server' parameter to query.main() calls
* lib/debug.py
- Changed PrintStackTrace(), PrintException(), and DumpChildren() not to
rely on global sapi.server variable and to use new server.write()
method
* lib/popen.py
- changed server.getFile() calls to server.file()
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@642 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/config.py:
(_parse_roots): get rid of a string method usage.
* lib/popen.py:
(pipe_cmds): stop using the += syntax (not compatible with 1.5.2)
* lib/sapi.py:
(CgiServer.__init__): use os.environ, not os.getenv()
(IIS_FixURL): stop using the += syntax
* lib/viewcvs.py:
- note: these changes look big, but are small. use 'cvs diff -b' to
see the real change without the reindentation.
(markup_stream_python): record a note about some future work
(run_viewcvs): new function which holds the guts of ViewCVS. this
used to be main() a long while back before that got monkeyed. this
is really just a reindent.
(main): hold the exception handling logic. tweak then the t_start
and t_end calls are made, relative to the try/finally.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@638 8cb11bc2-c004-0410-86c3-e597b4017df7
- added debugging mode for popen which can display the input and
output from child processes (only works on windows for now)
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@592 8cb11bc2-c004-0410-86c3-e597b4017df7