mirror of
https://expo.survex.com/repositories/expoweb/.git/
synced 2024-11-24 16:21:56 +00:00
handbook and areas doccm
This commit is contained in:
parent
317637d396
commit
ac97ea82a5
@ -31,7 +31,12 @@ area 1626.</p>
|
|||||||
<p>Access to the area is relatively easy at its southern edge, as the <a
|
<p>Access to the area is relatively easy at its southern edge, as the <a
|
||||||
href="tollrd.htm">Loser Panoramastraße</a> (a toll road) climbs the
|
href="tollrd.htm">Loser Panoramastraße</a> (a toll road) climbs the
|
||||||
southern slopes of Loser to reach a large parking area and self-service
|
southern slopes of Loser to reach a large parking area and self-service
|
||||||
restaurant at 1600m just below Augst See. From here, good paths reach both the
|
restaurant at 1600m just below Augst See.
|
||||||
|
<ul>
|
||||||
|
<li><a href="handbook/tollrd.html">Loser Panoramastraße</a></li>
|
||||||
|
</ul>
|
||||||
|
From the car park - now called "Loser Alm" and formerly just known as the
|
||||||
|
Bergrestaurant- good paths reach both the
|
||||||
southern slopes of Vd. Schwarzmooskogel, and also north to a col overlooking
|
southern slopes of Vd. Schwarzmooskogel, and also north to a col overlooking
|
||||||
the extensive pathless central plateau. Both the further reaches of the central
|
the extensive pathless central plateau. Both the further reaches of the central
|
||||||
plateau and the areas around the Schönberg, Gries Kogel and Augst-Eck
|
plateau and the areas around the Schönberg, Gries Kogel and Augst-Eck
|
||||||
@ -78,6 +83,7 @@ areas, though the map overlaps onto most of the others.</p>
|
|||||||
<li><a href="gschwand.html">Gschwandt Alm and area east of Blaa-Alm</a></li>
|
<li><a href="gschwand.html">Gschwandt Alm and area east of Blaa-Alm</a></li>
|
||||||
<li><a href="aausee.html">North of Altausseer-See and valley to Hochklapf</a></li>
|
<li><a href="aausee.html">North of Altausseer-See and valley to Hochklapf</a></li>
|
||||||
<li><a href="augstb.html">Ramsau/Posern area: Augst Bach valley below Toll road</a> <i>(not shown on map)</i></li>
|
<li><a href="augstb.html">Ramsau/Posern area: Augst Bach valley below Toll road</a> <i>(not shown on map)</i></li>
|
||||||
|
<li><a href="handbook/tollrd.html">Loser Panoramastraße</a> <i>(not shown on map)</i></li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<div style="text-align: center">
|
<div style="text-align: center">
|
||||||
|
@ -84,19 +84,20 @@ Connect the GPS device to your laptop (or the expo laptop) using the USB cable.
|
|||||||
of the device.
|
of the device.
|
||||||
You will see a subfolder called "GARMIN". Open the folder "GARMIN" and copy the file essentials.gpx which you
|
You will see a subfolder called "GARMIN". Open the folder "GARMIN" and copy the file essentials.gpx which you
|
||||||
downloaded into that folder.
|
downloaded into that folder.
|
||||||
|
<p>Even modern (2019) Garmin GPS devices use this old style mini-USB socket. So you will need the special cable that comes with the device. An ordinary phone USB cable won't work.
|
||||||
<h3>Old Garmin handheld GPS devices</h3>
|
|
||||||
<p>
|
|
||||||
These need the Garmin communication protocol to import cave entrance locations (waypoints) and paths (tracks).
|
|
||||||
You can't do it by simply copying files.
|
|
||||||
This means that you need special software on your laptop in addition to a USB cable that
|
|
||||||
connects your laptop to the Garmin device.
|
|
||||||
<p>
|
<p>
|
||||||
<figure>
|
<figure>
|
||||||
<img src="t/usb-minib-5pin-m-c.jpg" alt="mini-USB socket" />
|
<img src="t/usb-minib-5pin-m-c.jpg" alt="mini-USB socket" />
|
||||||
<figcaption><em>mini-USB b socket</em></figcaption>
|
<figcaption><em>mini-USB b socket</em></figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
If your Garmin has a <b>mini</b>-USB socket, rather than the usual micro-USB found in phones, then you might have an "old" Garmin handheld, but some modern handhelds still use this old socket.
|
|
||||||
|
<h3>Very Old Garmin handheld GPS devices</h3>
|
||||||
|
<p>
|
||||||
|
These need the Garmin communication protocol to import cave entrance locations (waypoints) and paths (tracks).
|
||||||
|
You can't do it by simply copying files.
|
||||||
|
This means that you need special software on your laptop in addition to a USB cable that
|
||||||
|
connects your laptop to the Garmin device.
|
||||||
|
|
||||||
<p>Once you have the right cable and connected your handheld to your laptop:
|
<p>Once you have the right cable and connected your handheld to your laptop:
|
||||||
<ul>
|
<ul>
|
||||||
<li>On a Windows machine, use "GPSbabel for Windows" which has an easy to use graphical user interface:
|
<li>On a Windows machine, use "GPSbabel for Windows" which has an easy to use graphical user interface:
|
||||||
@ -115,11 +116,11 @@ devise new routes to reach them.
|
|||||||
<p>
|
<p>
|
||||||
To regenerate the <i>most recent version</i> which contains the cave entrances discovered during expo
|
To regenerate the <i>most recent version</i> which contains the cave entrances discovered during expo
|
||||||
you will need to ask someone who is competent in logging into the server and running scripts.
|
you will need to ask someone who is competent in logging into the server and running scripts.
|
||||||
<p>The data is in the version control system <a href="computing/repos.html">repository</a> :loser: in
|
<p>The data is in the version control system <a href="computing/repos.html">repository</a> <var>:loser:</var> in
|
||||||
<pre>
|
<pre>
|
||||||
loser/gpx/
|
loser/gpx/
|
||||||
</pre>
|
</pre>
|
||||||
and is generated from the survex data by a script. It is best to do this on a laptop which has the entire :loser:
|
and is generated from the survex data by a script. It is best to do this on a laptop which has the entire <var>:loser:</var>
|
||||||
repo downloaded onto it (e.g. the <i>expo laptop</i>) rather than on the server itself as the server can run out of memory doing this.
|
repo downloaded onto it (e.g. the <i>expo laptop</i>) rather than on the server itself as the server can run out of memory doing this.
|
||||||
|
|
||||||
<p>The most recent track data will have been uploaded by an expoer into e.g.
|
<p>The most recent track data will have been uploaded by an expoer into e.g.
|
||||||
@ -133,9 +134,9 @@ repo downloaded onto it (e.g. the <i>expo laptop</i>) rather than on the server
|
|||||||
This is actually entirely hand-edited from original tracks. The only survex data it uses is the entrances waypoints which are exported
|
This is actually entirely hand-edited from original tracks. The only survex data it uses is the entrances waypoints which are exported
|
||||||
by the script which has been hand-edited in. It also has the kataster boundaries hand-edited in.
|
by the script which has been hand-edited in. It also has the kataster boundaries hand-edited in.
|
||||||
|
|
||||||
<p>Last year's (17 July 2018)
|
<p>The 17 July 2018 version
|
||||||
can be downloaded from here : <a href="essentials.gpx" download>essentials.gpx</a> (190K).
|
can be downloaded from here : <a href="essentials.gpx" download>essentials.gpx</a> (190K).
|
||||||
(This is a symlink to loser/gpx/essentials.gpx).
|
(This is a symlink to loser/gpx/essentials.gpx). This works fine on laptops but most phones don't like this sort of link.
|
||||||
|
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
@ -27,6 +27,7 @@ You've never been to expo? This is what you need to know before packing to come:
|
|||||||
<h2>Second steps</h2>
|
<h2>Second steps</h2>
|
||||||
This is what it's all about:
|
This is what it's all about:
|
||||||
<ul>
|
<ul>
|
||||||
|
<li><a href="intro.htm">Introduction to expo</a> - a 40-year institution</li>
|
||||||
<li><a href="primer.html">Primer</a> - For new expedition members - the caves we are exploring</li>
|
<li><a href="primer.html">Primer</a> - For new expedition members - the caves we are exploring</li>
|
||||||
<li><a href="survey/index.htm">Surveying</a> - Why and how we survey caves. (important!)</li>
|
<li><a href="survey/index.htm">Surveying</a> - Why and how we survey caves. (important!)</li>
|
||||||
<li><a href="survey/what.htm">Surveying - beginners guide</a> - Jump to: Beginners guide.</li>
|
<li><a href="survey/what.htm">Surveying - beginners guide</a> - Jump to: Beginners guide.</li>
|
||||||
@ -56,6 +57,7 @@ This is a scientific expedition - the Austrian government allows us to wander ar
|
|||||||
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
<li><a href="survey/caveentry.html">New Cave - How to Enter the Data</a> - Straight to <var>step #6</var> of the online cave data-entry process</li>
|
||||||
<li><a href="survey/status.html">Trip report status</a> - Missing .svx's, missing tunnel drawings etc.</li>
|
<li><a href="survey/status.html">Trip report status</a> - Missing .svx's, missing tunnel drawings etc.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<hr />
|
<hr />
|
||||||
@ -119,6 +121,7 @@ Things that are likely to be relevant at basecamp.
|
|||||||
|
|
||||||
<h2>Misc</h2>
|
<h2>Misc</h2>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li><a href="photo.htm">Photography Guide</a> - vital for entrances and documenting caves.
|
||||||
<li><a href="vocab.htm">Travelling cavers phrases</a> - Vocabulary in (German, Spanish, French).</li>
|
<li><a href="vocab.htm">Travelling cavers phrases</a> - Vocabulary in (German, Spanish, French).</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
@ -19,9 +19,7 @@ the expedition found for posterity and so future expeditions have something to
|
|||||||
build upon. Mostly this means producing a good <b>survey</b> of each cave, but
|
build upon. Mostly this means producing a good <b>survey</b> of each cave, but
|
||||||
it also includes writing <b>passage descriptions</b> and taking
|
it also includes writing <b>passage descriptions</b> and taking
|
||||||
<b>photographs</b>. Documenting old caves which are refound, and short new
|
<b>photographs</b>. Documenting old caves which are refound, and short new
|
||||||
caves is covered by the <a href="../look4.htm">Prospecting Guide</a>. Taking
|
caves is covered by the <a href="../look4.htm">Prospecting Guide</a>. <b>This</b>
|
||||||
photographs may one day be covered by a better expedition <a
|
|
||||||
href="../photo.htm">Photography Guide</a> than the current effort. <b>This</b>
|
|
||||||
guide covers essentially everything that goes in the <b>Survey Book</b> on each
|
guide covers essentially everything that goes in the <b>Survey Book</b> on each
|
||||||
expedition.</p>
|
expedition.</p>
|
||||||
|
|
||||||
@ -42,6 +40,7 @@ detailed topics.</p>
|
|||||||
</li>
|
</li>
|
||||||
<li><b>For those new to CUCC expo surveying:</b>
|
<li><b>For those new to CUCC expo surveying:</b>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li><a href="../logbooks.html">Expo logbooks</a> - how and why
|
||||||
<li><a href="newcave.html">The complete process for recording cave data</a></li>
|
<li><a href="newcave.html">The complete process for recording cave data</a></li>
|
||||||
<li>Current Expo survey <a href="/expofiles/surveyscans/2019/walletindex.html">wallet status</a>.</li>
|
<li>Current Expo survey <a href="/expofiles/surveyscans/2019/walletindex.html">wallet status</a>.</li>
|
||||||
<li>Current Expo survey data <a href="../computing/todo-data.html">TO-DO list</a>.</li>
|
<li>Current Expo survey data <a href="../computing/todo-data.html">TO-DO list</a>.</li>
|
||||||
|
@ -47,9 +47,9 @@ trip for the view, but quickly becomes prohibitive for a caving expedition
|
|||||||
made up mainly of impoverished students needing to make a dozen or more
|
made up mainly of impoverished students needing to make a dozen or more
|
||||||
return journeys. Cyclists go free, but 900m of ascent from the village is a
|
return journeys. Cyclists go free, but 900m of ascent from the village is a
|
||||||
little excessive with heavy gear. It does make a splendid run back down,
|
little excessive with heavy gear. It does make a splendid run back down,
|
||||||
however ! Trying only to travel at night is possible, but is both underhand
|
however ! Trying only to travel at night is no longer possible
|
||||||
and rather restrictive, particularly if an emergency arises. Permission is
|
because of the automated gates and automated number-plate recognition system.
|
||||||
needed to camp within the Nature Reserve at the top, so it is best to
|
Permission is needed to camp within the Nature Reserve at the top, so it is best to
|
||||||
negotiate a cheaper deal. The owner is very interested to know about the
|
negotiate a cheaper deal. The owner is very interested to know about the
|
||||||
caves on "his" plateau, so it's important to send a report as soon as
|
caves on "his" plateau, so it's important to send a report as soon as
|
||||||
possible after the expedition.</p>
|
possible after the expedition.</p>
|
||||||
|
@ -30,19 +30,27 @@ The loser repo and expoweb repo need more care in migration (expoweb is the webs
|
|||||||
<p>
|
<p>
|
||||||
Similarly expoweb is full of bloat from fat images and surveys and one 82MB thesis that got checked in and then removed. Clearing that out is a good idea. I have a set of 'unused fat blob' lists which can be stripped out with git-gilter. It's not hard to make a 'do the conversion' script, ready for sometime after expo 2019 has calmed down.
|
Similarly expoweb is full of bloat from fat images and surveys and one 82MB thesis that got checked in and then removed. Clearing that out is a good idea. I have a set of 'unused fat blob' lists which can be stripped out with git-gilter. It's not hard to make a 'do the conversion' script, ready for sometime after expo 2019 has calmed down.
|
||||||
|
|
||||||
<h4>April/May 2020 and django versions</h4>
|
<h4>May 2020 and django versions</h4>
|
||||||
<p>
|
<p>
|
||||||
Wookey has now moved 'expoweb' from mercurial to git largely "as-is" and will to use the git tools to patch up the history and to remove redundancies, rather than the original plan to tidy them up "at the time of conversion". Mark Shinwell is working on loser.
|
Wookey has now moved 'expoweb' from mercurial to git largely "as-is" and will to use the git tools to patch up the history and to remove redundancies, rather than the original plan to tidy them up "at the time of conversion". Mark Shinwell is working on loser with him.
|
||||||
<p>Sam continues to work on upgrading django from v1.7 . We are using python 2.7.17 and while we <a href="https://docs.djangoproject.com/en/1.10/topics/python3/">could upgrade</a> to Python v3 using the same version (1.7) of django, we would rather upgrade django as much as possible first before we tackle that. Old versions of django have unpatched security issues.
|
<p>Sam continues to work on upgrading django from v1.7 on python 2.7.17 . We would like to upgrade django as quickly as possible because old versions of django have unpatched security issues.
|
||||||
<p> "Django 1.11 is the last version to support Python 2.7. Support for Python 2.7 and Django 1.11 ends in 2020." see: <a href="https://docs.djangoproject.com/en/3.0/faq/install/">django versions</a>.
|
Upgrading to later django versions is a real pig - not helped by the fact that all the tools to help do it are now out of date for these very old django releases.
|
||||||
<p>Ubuntu 20.04 came out on 23rd April but it does not support python2 at all. So we cannot use it for software maintenance.
|
<ul>
|
||||||
<p>For a table displaying the various versions of django and support expiry dates
|
<li>"Django 1.11 is the last version to support Python 2.7. Support for Django 1.11 ends in 2020." see: <a href="https://docs.djangoproject.com/en/3.0/faq/install/">django versions</a>. You will notice that we are really outstaying our welcome here, especially as python2.7 was <a href="https://python-release-cycle.glitch.me/">declared dead in January</a> this year.
|
||||||
|
|
||||||
|
<li>For a table displaying the various versions of django and support expiry dates
|
||||||
see <a href="https://www.djangoproject.com/download/">the django download</a> page.
|
see <a href="https://www.djangoproject.com/download/">the django download</a> page.
|
||||||
Django 1.7 expired in December 2015.
|
Django 1.7 expired in December 2015.
|
||||||
Django: <a href="">full deprecation timeline</a>.</p>
|
Django: <a href="">full deprecation timeline</a>.
|
||||||
<p>Ideally we should upgrade from django 1.7 to django 1.11, then port from python2 to python3 on
|
|
||||||
the same version of django,
|
<li>Ubuntu 20.04 came out on 23rd April but it does not support python2 at all. So we cannot use it for software maintenance (well be can, but only using non-recommended software, which is what we are trying to get away from).
|
||||||
then upgrade to as recent a version of django as we can.
|
</ul>
|
||||||
|
<p>We planned to upgrade from django 1.7 to django 1.11, then port from python2 to python3 on
|
||||||
|
the same version of django, then upgrade to as recent a version of django as we could. But we have
|
||||||
|
discovered that django1.7 works just fine with <a href="https://docs.djangoproject.com/en/1.10/topics/python3/">python3</a>, so we will probably move to python3 during June and
|
||||||
|
then upgrade the server operating system from Debian <var>stretch</var> to <var>buster</var> before
|
||||||
|
tackling the next step: thinking deeply about when we migrate from django
|
||||||
|
<a href="trogdesignx.html">to something else</a>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Enforced time at home is giving us a new impetus to writing and restructuring the documentation for everything.
|
Enforced time at home is giving us a new impetus to writing and restructuring the documentation for everything.
|
||||||
|
47
infodx.htm
47
infodx.htm
@ -13,12 +13,14 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="indxal.htm">Cave Descriptions Index</a>. Recently-explored major caves:
|
<li><a href="indxal.htm">Cave Descriptions Index</a>. Recently-explored major caves:
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="1623/2017-cucc-28/">Fischgesicht </a></li>
|
<li><a href="1623/290/">Fischgesicht-Höhle </a> - FishFace</li>
|
||||||
<li><a href="1623/258/258.html">Tunnockschacht</a></li>
|
<li><a href="1626/359/">Heimkehrhöhle </a> - Homecoming</li>
|
||||||
<li><a href="1623/264/264.html">Balkonhöhle</a></li>
|
<li><a href="1623/264/264.html">Balkonhöhle</a></li>
|
||||||
|
<li><a href="1623/258/258.html">Tunnockschacht</a></li>
|
||||||
<li><a href="1623/40/cucc.htm">Schwarzmooskogeleishöhle</a></li>
|
<li><a href="1623/40/cucc.htm">Schwarzmooskogeleishöhle</a></li>
|
||||||
<li><a href="1623/76/76.htm">Eislufthöhle</a></li>
|
<!--<li><a href="1623/76/76.htm">Eislufthöhle</a></li>
|
||||||
<li><a href="1623/107.htm">Gemshöhle</a></li>
|
<li><a href="1623/107.htm">Gemshöhle</a></li>
|
||||||
|
-->
|
||||||
<li><a href="1623/161/top.htm">Kaninchenhöhle</a></li>
|
<li><a href="1623/161/top.htm">Kaninchenhöhle</a></li>
|
||||||
<li><a href="1623/204/204.html">Steinbrückenhöhle</a></li>
|
<li><a href="1623/204/204.html">Steinbrückenhöhle</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -35,8 +37,23 @@
|
|||||||
<td><a href="years/2019/">2019</a></td>
|
<td><a href="years/2019/">2019</a></td>
|
||||||
<td>|</td>
|
<td>|</td>
|
||||||
<td><a href="years/2020/">2020</a></td>
|
<td><a href="years/2020/">2020</a></td>
|
||||||
|
<td>|</td>
|
||||||
|
<td>expedition planning and logistics</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
<tr>
|
||||||
|
<td><a href="/expedition/2016">2016</a></td>
|
||||||
|
<td>|</td>
|
||||||
|
<td><a href="/expedition/2017">2017</a></td>
|
||||||
|
<td>|</td>
|
||||||
|
<td><a href="/expedition/2018">2018</a></td>
|
||||||
|
<td>|</td>
|
||||||
|
<td><a href="/expedition/2019">2019</a></td>
|
||||||
|
<td>|</td>
|
||||||
|
<td><a href="/expedition/2020">2020</a></td>
|
||||||
|
<td>|</td>
|
||||||
|
<td>expedition cave exploration and survey data</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="years/">Other years<a/></li>
|
<li><a href="years/">Other years<a/></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -44,37 +61,33 @@
|
|||||||
<h2>Public articles and presentations</h2>
|
<h2>Public articles and presentations</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="intro.htm">Introduction to expo</a></li>
|
<li><a href="intro.htm">Introduction to expo</a></li>
|
||||||
|
<li><a href="pubs.htm">Published Articles and Presentations</a> in Journals and at conferences (bibliography with links)</li>
|
||||||
<li><a href="expofiles/presentations/">External Presentations(Hidden Earth, etc)</a></li>
|
<li><a href="expofiles/presentations/">External Presentations(Hidden Earth, etc)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>Area Description</h2>
|
<h2>Area Description</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="pubs.htm">Published Articles and Presentations</a> in Journals and at conferences (bibliography with links)</li>
|
|
||||||
<li><a href="areas.htm">Area/subarea descriptions</a></li>
|
<li><a href="areas.htm">Area/subarea descriptions</a></li>
|
||||||
<li><a href="geolog.htm">Geological outline</a></li>
|
<li><a href="geolog.htm">Geological outline</a></li>
|
||||||
<li><a href="indxal.htm">Cave Descriptions Index</a>
|
<li><a href="indxal.htm">Cave Descriptions Index</a>
|
||||||
<li>The Austrian <a href="katast.htm">Kataster</a> or cave catalogue</li>
|
<li><a href="katast.htm">Kataster</a> - The Austrian cave catalogue</li>
|
||||||
<li><a href="noinfo/all.3d">Current data</a> - download file for display using aven</li>
|
|
||||||
<li><a href="handbook/tollrd.html">Loser Panoramastraße</a></li>
|
|
||||||
<li><a href="http://www.tagesbild.at/">The weather at Grundlesee</a> from a webcam about 5km from basecamp</li>
|
<li><a href="http://www.tagesbild.at/">The weather at Grundlesee</a> from a webcam about 5km from basecamp</li>
|
||||||
<li><a href="handbook/fester.html">Festering</a> - or alternative activities for jaded cavers</li>
|
|
||||||
<li><a href="dclaim.htm">Independent visitors' info</a></li>
|
<li><a href="dclaim.htm">Independent visitors' info</a></li>
|
||||||
<li><a href="others/index.htm">Other groups</a> who have worked in the area.</li>
|
<li><a href="others/index.htm">Other groups</a> who have worked in the area.</li>
|
||||||
<li><a href="dplong.htm">Deep and Long Caves list</a> - out of date</li>
|
<li><a href="dplong.htm">Deep and Long Caves list</a> - out of date</li>
|
||||||
<li><a href="fixaid.htm">Fixed Ropes</a> in CUCC caves - very out of date</li>
|
<li><a href="noinfo/all.3d">Current data</a> - download file for display using aven</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<h2>Expedition Handbook</h2>
|
<h2>Expedition Handbook</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Full <a href="handbook/index.htm">Expedition Handbook</a> - start here.<br />
|
<li><a href="handbook/primer.html">Primer</a> - for new expedition members</li>
|
||||||
This contains the Prospecting Handbook and the Surveying Handbook sections.</li>
|
<li><a href="handbook/index.htm">Expedition Handbook</a> -
|
||||||
<li><a href="handbook/survey/index.htm">Handbook section on surveying</a></li>
|
the Prospecting, Surveying, GPS, Rigging and How To Expo.</li>
|
||||||
<li><a href="primer.htm">Primer</a> - for new expedition members</li>
|
|
||||||
<li><a href="handbook/rescue.htm">Rescue guide</a> IMPORTANT </li>
|
<li><a href="handbook/rescue.htm">Rescue guide</a> IMPORTANT </li>
|
||||||
<li><a href="handbook/logbooks.html">Expo logbooks procedures</a>
|
<li><a href="handbook/survey/index.htm">Surveying Handbook</a></li>
|
||||||
<li><a href="handbook/look4.htm">Handbook section on prospecting</a>
|
<li><a href="handbook/look4.htm">Prospecting Handbook</a>
|
||||||
<li><a href="handbook/essentials.html">Get GPS data on cave locations</a>
|
<li><a href="handbook/essentials.html">Essential GPS in the mountains</a>
|
||||||
<li><a href="handbook/rig/rigit.html">Rigging guide</a>
|
<li><a href="handbook/rig/rigit.html">Rigging guide</a>
|
||||||
<li><a href="handbook/planning.html">Expo Planning Guide</a> -
|
<li><a href="handbook/planning.html">Expo Planning Guide</a> -
|
||||||
How to plan and make an expo happen.
|
How to plan and make an expo happen.
|
||||||
|
@ -1,53 +1,53 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
"""
|
"""
|
||||||
Recursively checks that no filenames from the current working directory
|
Recursively checks that no filenames from the current working directory
|
||||||
down are the same, even if they are in different subdirectories. Exits
|
down are the same, even if they are in different subdirectories. Exits
|
||||||
with status 0 if no matching filenames are found, or 1 if a match is
|
with status 0 if no matching filenames are found, or 1 if a match is
|
||||||
found.
|
found.
|
||||||
|
|
||||||
2020-03-25 PMS Copied originally from https://gist.github.com/seanh/229455
|
2020-03-25 PMS Copied originally from https://gist.github.com/seanh/229455
|
||||||
Modified to lowercase everything before checking, to detect clashes caused
|
Modified to lowercase everything before checking, to detect clashes caused
|
||||||
by capitalisation, and to capture full path for all clashing files
|
by capitalisation, and to capture full path for all clashing files
|
||||||
"""
|
"""
|
||||||
import sys,os
|
import sys,os
|
||||||
print "Checking for filename clashes...",
|
print "Checking for filename clashes...",
|
||||||
|
|
||||||
def sortSecond(val):
|
def sortSecond(val):
|
||||||
return val[1]
|
return val[1]
|
||||||
|
|
||||||
allfilenames = []
|
allfilenames = []
|
||||||
detect = []
|
detect = []
|
||||||
clashes = []
|
clashes = []
|
||||||
report = []
|
report = []
|
||||||
exclude = set([".git",".hg"])
|
exclude = set([".git",".hg"])
|
||||||
for root, dirs, files in os.walk('.', topdown=True):
|
for root, dirs, files in os.walk('.', topdown=True):
|
||||||
dirs[:] = [d for d in dirs if d not in exclude] # modifies dirs in-place.
|
dirs[:] = [d for d in dirs if d not in exclude] # modifies dirs in-place.
|
||||||
for filename in files:
|
for filename in files:
|
||||||
if filename.endswith('~'):
|
if filename.endswith('~'):
|
||||||
# Ignore automatically created backup files.
|
# Ignore automatically created backup files.
|
||||||
continue
|
continue
|
||||||
if os.path.islink(os.path.join(root,filename)):
|
if os.path.islink(os.path.join(root,filename)):
|
||||||
# Don't count symlinks as filename clashes.
|
# Don't count symlinks as filename clashes.
|
||||||
continue
|
continue
|
||||||
allfilenames.append((root,filename))
|
allfilenames.append((root,filename))
|
||||||
if filename.lower() in detect:
|
if filename.lower() in detect:
|
||||||
clashes.append(filename.lower())
|
clashes.append(filename.lower())
|
||||||
else:
|
else:
|
||||||
detect.append(filename.lower())
|
detect.append(filename.lower())
|
||||||
|
|
||||||
print len(allfilenames), 'files found...',
|
print len(allfilenames), 'files found...',
|
||||||
if clashes == []:
|
if clashes == []:
|
||||||
print 'OK'
|
print 'OK'
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
print len(clashes)," clash(es) found."
|
print len(clashes)," clash(es) found."
|
||||||
for r,f in allfilenames:
|
for r,f in allfilenames:
|
||||||
if f in clashes:
|
if f in clashes:
|
||||||
report.append((r,f))
|
report.append((r,f))
|
||||||
# sorts the array in descending according to
|
# sorts the array in descending according to
|
||||||
# second element: the clashing filename
|
# second element: the clashing filename
|
||||||
report.sort(key = sortSecond)
|
report.sort(key = sortSecond)
|
||||||
for r,f in report:
|
for r,f in report:
|
||||||
print os.path.join(r,f)
|
print os.path.join(r,f)
|
||||||
print len(clashes)," clash(es) found."
|
print len(clashes)," clash(es) found."
|
||||||
sys.exit(1)
|
sys.exit(1)
|
Loading…
Reference in New Issue
Block a user