The goal of removeDirectoryTree() is to provide a safety net around
recursive directory removal with shutil.rmtree(), in order to prevent
user or bug-caused catastrophic events such as /, /home /home/joeuser or
C:\ being recursively erased.
- Add method assembleUrl() to HTTPGetter.
- Raise a NetworkError exception with the particular URL and number of
retries when it has been exhausted.
- Number of retries is now trivial to expose as a parameter, and set to
5 in HTTPGetter.
- Sleep for one second between self.httpConnection.close() and
self.httpConnection.connect() when retrying a failed HTTP request.
- Apply DRY principle.
- New generic exception class TerraSyncPyException.
- Add subclass NetworkError of TerraSyncPyException.
- Raise a NetworkError exception when the HTTP return code is not 200.
- hash_of_file() does not silently ignore errors anymore; exceptions
should be dealt with wherever appropriate by the callers.
Whenever hash_of_file() returns, its return value is now the SHA-1
hash of the specified file. This is less error-prone IMHO than
returning None. Otherwise, calling code could erroneously conclude
that there is a matching hash when the file to check is actually
missing. For a concrete example, see the 'dirIndexHash' parameter of
TerraSync.updateDirectory(), which so far is used precisely with the
value None to express that "we are just starting the recursion and
have no hash from the server to compare to".
When called, the callback passed to HTTPGetter.get() is now explicitly
passed the URL and the http.client.HTTPResponse instance.
Remove the HTTPGetCallback.result attribute (not needed anymore, leaves
more freedom when implementating HTTPGetCallback subclasses...).
Print an error message and exit if --{enable,disable}-enhanced-lighting
or --adf are used (those deprecated options will be removed in a future
version of FlightGear).
If the response to the HTTP request isn't 200 (success), then don't save
the response, and don't call the callback.
Additionally, only retry in the case of HTTPException. This allows using
Ctrl-C to work correctly (and easily).
- add option --quick
check sha1sum of .dirindex files and skip directory if hash matches
- add option --remove-orphan
remove orphan files (files exist locally but not on server)
- be less verbose
- write .dirindex files locally
The new script is documented in the flightgear wiki (see "bash completion") and adds functionality such as advanced detection of FG_ROOT and other paths, and many completions not available before.
The list of possible command line options is automatically generated from "fgfs --help --verbose".
The author of the original script (mfranz) has agreed to replace this script.
Util.java was added to the repo commenting "Half-finished utility class.".
No more progress since (10 years!), so just exclude the file from the
java build by changing its extension.
dirs is only fast enough with hot file-cache, but a bit too painful
otherwise. Updating the aircraft.list is now easier, though: Just
type $ fgfs --aircraft=?<TAB>
- drop the DEFAULT keyword in .fg-submit configuration files. That was
a silly idea. The default rules are now always appended. One can still
bypass them by ALLOWing or DENYing anything before, for example, by using
DENY *, or ALLOW *.
- fix a typo that broke ~/.fg-submitrc loading (but ~/.fg-submit worked anyway)
- some minor improvments, cleanup and all that
- fix config file name in $HOME; This didn't match the documentation.
(doesn't cost us anything to check ~/.fg-submit first, and then ~/.fg-submitrc)
- don't use mktemp for the backup files. Some outdated distributions
(Debian) come with a version that mandates six X, which is just too ugly.
Just find the first free slot with sequential number. That isn't thread
safe, but mktemp isn't either, so ... (Should be using "lockfile", but
its availability on CygWin is questionable. And it's not *that* important.)
- some more documentation
- some cleanup, too, of course
ALLOW, DENY, IGNORE, DEFAULT ... see documentation on top
- make fg-upload arguments like the documentation says. (I had accidentally
left $1=$PWD, $2=archive, $3=diff, while it should be $1=archive, $2=diff)
- add -v option (verbose)
fg-submit:
- takes alternative optional basename (used instead of dirname)
- calls optional user defined fg-upload script at the end (example on top)
- minor fixes, different color for changed binary files
- cleanup, improved documentation
submitting. Detects various kinds of ugliness, but also reports false
positives. (People aren't supposed to compress texture filer so save
40 bytes. ;-)
- bugfix in fg-submit + some more cleanup and cosmetics
"Flightgear.py
- Added the procedures view_next and view_prev
demo.py
- altered the wait five seconds to the new property path and allowed for
the script to be started after five seconds of simulation file
(/sim/time/elapsed-sec).
- the section of code was changed to a pythonism as python does not
support do-while loops, instead you break out of a continuous loop.
- Commented out the fg.wait_for_prop_eq() method as I haven't rewritten
that part of the code yet. Not sure of the best way to do that. Those
lines may not be necessary any more."
mf: removed trailing spaces; I updated the pyc, too, but I really think
it shouldn't be in CVS at all.(?)
There weren't changes to this script in a while -- it almost looks
like dead code, but isn't. I'm using this regularly. valgrind works
better than ever (version 3.0 coming out soon, and the alpha already
very usable). New address: http://www.valgrind.org/
stdin, and outputs the coordinates with FG ground elevation. This requires
a running copy of FlightGear with --fdm=null and the telnet server enabled.
Of course you need to have scenery installed for all areas you are querying.
This is not fast and the scenery load wait time may need to be tuned for
individual systems.