From f07d70d39d3f206e2c3c7871b62b12e22a494b02 Mon Sep 17 00:00:00 2001 From: FriedrichFroebel Date: Mon, 22 Aug 2022 19:50:42 +0200 Subject: [PATCH] fix for deleted owners --- pycaching/cache.py | 13 +- test/cassettes/cache_author_deleted.json | 168 +++++++++++++++++++++++ test/cassettes/cache_author_normal.json | 168 +++++++++++++++++++++++ test/test_cache.py | 13 ++ 4 files changed, 359 insertions(+), 3 deletions(-) create mode 100644 test/cassettes/cache_author_deleted.json create mode 100644 test/cassettes/cache_author_normal.json diff --git a/pycaching/cache.py b/pycaching/cache.py index 2ec9084..d23c089 100644 --- a/pycaching/cache.py +++ b/pycaching/cache.py @@ -506,7 +506,8 @@ def author(self): @author.setter def author(self, author): - author = str(author).strip() + if author is not None: + author = str(author).strip() self._author = author @property @@ -744,7 +745,13 @@ def load(self): raise errors.LoadError() self.name = cache_details.find(id="ctl00_ContentBody_CacheName").text - self.author = cache_details("a")[1].text + try: + self.author = cache_details("a")[1].text + except IndexError: + if "[DELETED_USER]" in cache_details.find("div", id="ctl00_ContentBody_mcd1").text: + self.author = None + else: + raise D_and_T_img = root.find("div", "CacheStarLabels").find_all("img") self.difficulty, self.terrain = [float(img.get("alt").split()[0]) for img in D_and_T_img] @@ -762,7 +769,7 @@ def load(self): if self.pm_only: raise errors.PMOnlyException() - # details not avaliable for basic members for PM only caches ------------------------------ + # details not available for basic members for PM only caches pm_only_warning = root.find("p", "Warning NoBottomSpacing") self.pm_only = pm_only_warning and ("Premium Member Only" in pm_only_warning.text) or False diff --git a/test/cassettes/cache_author_deleted.json b/test/cassettes/cache_author_deleted.json new file mode 100644 index 0000000..7690b90 --- /dev/null +++ b/test/cassettes/cache_author_deleted.json @@ -0,0 +1,168 @@ +{ + "http_interactions": [ + { + "recorded_at": "2022-08-22T17:48:40", + "request": { + "body": { + "encoding": "utf-8", + "string": "" + }, + "headers": { + "Accept": [ + "*/*" + ], + "Accept-Encoding": [ + "gzip, deflate" + ], + "Connection": [ + "keep-alive" + ], + "Cookie": [ + "gspkauth=; Culture=en-US; __RequestVerificationToken=" + ], + "User-Agent": [ + "python-requests/2.28.1" + ] + }, + "method": "GET", + "uri": "https://www.geocaching.com/seek/cache_details.aspx?wp=GC1MX0C" + }, + "response": { + "body": { + "encoding": "utf-8", + "string": "Object moved\r\n

Object moved to here.

\r\n\r\n" + }, + "headers": { + "Cache-Control": [ + "no-cache" + ], + "Content-Length": [ + "173" + ], + "Content-Type": [ + "text/html; charset=utf-8" + ], + "Date": [ + "Mon, 22 Aug 2022 17:48:39 GMT" + ], + "Expires": [ + "-1" + ], + "Location": [ + "https://www.geocaching.com/geocache/GC1MX0C_white-carpet" + ], + "Pragma": [ + "no-cache" + ], + "Request-Context": [ + "appId=cid-v1:019d82c2-5dd7-44cb-aa94-01e052f0d40c" + ], + "Set-Cookie": [ + "gspkauth=; domain=.geocaching.com; expires=Thu, 22-Sep-2022 17:48:40 GMT; path=/; secure; HttpOnly", + "Culture=en-US; path=/; secure; HttpOnly" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Vary": [ + "Accept-Encoding" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "X-XSS-Protection": [ + "1" + ] + }, + "status": { + "code": 301, + "message": "Moved Permanently" + }, + "url": "https://www.geocaching.com/seek/cache_details.aspx?wp=GC1MX0C" + } + }, + { + "recorded_at": "2022-08-22T17:48:40", + "request": { + "body": { + "encoding": "utf-8", + "string": "" + }, + "headers": { + "Accept": [ + "*/*" + ], + "Accept-Encoding": [ + "gzip, deflate" + ], + "Connection": [ + "keep-alive" + ], + "Cookie": [ + "gspkauth=; Culture=en-US; __RequestVerificationToken=" + ], + "User-Agent": [ + "python-requests/2.28.1" + ] + }, + "method": "GET", + "uri": "https://www.geocaching.com/geocache/GC1MX0C_white-carpet" + }, + "response": { + "body": { + "encoding": "utf-8", + "string": "\r\n\r\n\r\n\r\n\r\n \r\n \r\n\tGC1MX0C White Carpet (Traditional Cache) in East Midlands, United Kingdom created by [DELETED_USER]\r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\t\r\n\t\r\n\t\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n Skip to content\r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n\t\r\n \r\n

White Carpet Traditional Geocache

\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n This cache has been locked, but it is available for viewing.\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n\t\t\n

\n \n GC1MX0C\n \n \n \n

\n\r\n\t
\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\t\t\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\t
\r\n
\r\n \r\n \r\n \r\n \r\n White Carpet\r\n \r\n
\r\n
\r\n
\r\n A cache by [DELETED_USER]\r\n \r\n
\r\n
\r\n Hidden\r\n :\r\n 2/20/2009\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Difficulty:
\r\n
\r\n \"1\r\n
\r\n
\r\n
\r\n
\r\n Terrain:
\r\n
\r\n \"1\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n

\r\n Size: \"Size: (small)\r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n 6 \r\n \r\n Favorites\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n

\r\n\r\n \r\n\r\n

\r\n \r\n\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n N 53\u00b0 18.886 W 000\u00b0 04.272\r\n \r\n \r\n
\r\n \r\n British Grid: TF 28591 81494
\r\n
\r\n

\r\n
\r\n
\r\n In East Midlands, United Kingdom
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Print:\r\n
\r\n
\r\n No Logs\r\n 5 Logs\r\n 10 Logs\r\n Driving Directions\r\n
\r\n
\r\n
\r\n
\r\n Download GPX\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.\r\n
\r\n \r\n \r\n \r\n \r\n

Geocache Description:

\r\n \r\n
\r\n \r\n A quick drive-by for most of the year, but a treat is in store if you visit in late January, through February or into the early part of March..\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n The cache is a smallish, cammo-taped lock'n'lock with a few small swaps. There is a prize for first to find sitting next to the cache.
\r\n
\r\nThis spot is one we always enjoy driving past in late January as it reminds us that there will be another spring, we just have to wait a little longer!
\r\n \r\n
\r\n \r\n \r\n \r\n

\r\n \r\n Additional Hints\r\n (No hints available.)

\r\n
\r\n \r\n
\r\n
\r\n


\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \n
\n \n Log geocache\n \n \n \n
\n\n\r\n \r\n \r\n
\r\n \r\n

\r\n Attributes\r\n

\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\t\t\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Advertising with Us\r\n

\r\n \r\n \r\n\t
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \n
\n \n

\n Inventory\n

\n
\n \n \n
\r\n\t\t\n

There are no Trackables in this cache.

\n \r\n\t
\n \n\n \n
\n \n \n
\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n

\r\n  
\r\n \r\n \r\n

\r\n \r\n
\r\n\t\t\r\n
\r\n \r\n
\r\n
\r\n

\r\n View Larger Map\r\n

\r\n
\r\n
\r\n \r\n\t
\r\n \r\n

\r\n Find...\r\n
\r\n \r\n

\r\n \r\n

\r\n For online maps...\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \n\n\n\n\n\n\n\n\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n" + }, + "headers": { + "Cache-Control": [ + "no-cache" + ], + "Content-Length": [ + "101616" + ], + "Content-Type": [ + "text/html; charset=utf-8" + ], + "Date": [ + "Mon, 22 Aug 2022 17:48:39 GMT" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Request-Context": [ + "appId=cid-v1:019d82c2-5dd7-44cb-aa94-01e052f0d40c" + ], + "Set-Cookie": [ + "gspkauth=; domain=.geocaching.com; expires=Thu, 22-Sep-2022 17:48:40 GMT; path=/; secure; HttpOnly", + "Culture=en-US; path=/; secure; HttpOnly" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "X-Frame-Options": [ + "SAMEORIGIN", + "SAMEORIGIN" + ], + "X-XSS-Protection": [ + "1" + ] + }, + "status": { + "code": 200, + "message": "OK" + }, + "url": "https://www.geocaching.com/geocache/GC1MX0C_white-carpet" + } + } + ], + "recorded_with": "betamax/0.8.1" +} \ No newline at end of file diff --git a/test/cassettes/cache_author_normal.json b/test/cassettes/cache_author_normal.json new file mode 100644 index 0000000..32940d8 --- /dev/null +++ b/test/cassettes/cache_author_normal.json @@ -0,0 +1,168 @@ +{ + "http_interactions": [ + { + "recorded_at": "2022-08-22T17:48:39", + "request": { + "body": { + "encoding": "utf-8", + "string": "" + }, + "headers": { + "Accept": [ + "*/*" + ], + "Accept-Encoding": [ + "gzip, deflate" + ], + "Connection": [ + "keep-alive" + ], + "Cookie": [ + "gspkauth=; __RequestVerificationToken=" + ], + "User-Agent": [ + "python-requests/2.28.1" + ] + }, + "method": "GET", + "uri": "https://www.geocaching.com/seek/cache_details.aspx?wp=GC4808G" + }, + "response": { + "body": { + "encoding": "utf-8", + "string": "Object moved\r\n

Object moved to here.

\r\n\r\n" + }, + "headers": { + "Cache-Control": [ + "no-cache" + ], + "Content-Length": [ + "176" + ], + "Content-Type": [ + "text/html; charset=utf-8" + ], + "Date": [ + "Mon, 22 Aug 2022 17:48:38 GMT" + ], + "Expires": [ + "-1" + ], + "Location": [ + "https://www.geocaching.com/geocache/GC4808G_nekonecne-ticho" + ], + "Pragma": [ + "no-cache" + ], + "Request-Context": [ + "appId=cid-v1:019d82c2-5dd7-44cb-aa94-01e052f0d40c" + ], + "Set-Cookie": [ + "gspkauth=; domain=.geocaching.com; expires=Thu, 22-Sep-2022 17:48:38 GMT; path=/; secure; HttpOnly", + "Culture=en-US; path=/; secure; HttpOnly" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Vary": [ + "Accept-Encoding" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "X-XSS-Protection": [ + "1" + ] + }, + "status": { + "code": 301, + "message": "Moved Permanently" + }, + "url": "https://www.geocaching.com/seek/cache_details.aspx?wp=GC4808G" + } + }, + { + "recorded_at": "2022-08-22T17:48:40", + "request": { + "body": { + "encoding": "utf-8", + "string": "" + }, + "headers": { + "Accept": [ + "*/*" + ], + "Accept-Encoding": [ + "gzip, deflate" + ], + "Connection": [ + "keep-alive" + ], + "Cookie": [ + "gspkauth=; __RequestVerificationToken=; Culture=en-US" + ], + "User-Agent": [ + "python-requests/2.28.1" + ] + }, + "method": "GET", + "uri": "https://www.geocaching.com/geocache/GC4808G_nekonecne-ticho" + }, + "response": { + "body": { + "encoding": "utf-8", + "string": "\r\n\r\n\r\n\r\n\r\n \r\n \r\n\tGC4808G Nekonecne ticho (Unknown Cache) in Plze\u0148sk\u00fd kraj, Czechia created by Bifurka\u010dn\u00ed t\u00fdm\r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\t\r\n\t\r\n\t\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n Skip to content\r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n\t\r\n \r\n

Nekonecne ticho Mystery Cache

\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n This cache has been archived.\r\n
\r\n
\r\n

Sopdet Reviewer: Archivace listingu ke\u0161e

\n

Sopdet Reviewer - Reviewer pro \u010cR (p\u0159edev\u0161\u00edm kraje Jiho\u010desk\u00fd, Plze\u0148sk\u00fd a Karlovarsk\u00fd)

\n
\r\n \r\n More\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n\t\t\n

\n \n GC4808G\n \n \n \n

\n\r\n\t
\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\t\t\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\t
\r\n
\r\n \r\n \r\n \r\n \r\n Nekonecne ticho\r\n \r\n
\r\n
\r\n
\r\n A cache by Bifurka\u010dn\u00ed t\u00fdm\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Message this owner\r\n \r\n
\r\n
\r\n Hidden\r\n :\r\n 3/16/2013\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Difficulty:
\r\n
\r\n \"4\r\n
\r\n
\r\n
\r\n
\r\n Terrain:
\r\n
\r\n \"4\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n

\r\n Size: \"Size: (regular)\r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n 22 \r\n \r\n Favorites\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n

\r\n\r\n \r\n\r\n

\r\n \r\n\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n N 49\u00b0 43.850 E 013\u00b0 22.905\r\n \r\n \r\n
\r\n \r\n UTM: 33U E 383381 N 5509960
\r\n
\r\n

\r\n
\r\n
\r\n In Plze\u0148sk\u00fd kraj, Czechia
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Print:\r\n
\r\n
\r\n No Logs\r\n 5 Logs\r\n 10 Logs\r\n Driving Directions\r\n
\r\n
\r\n
\r\n
\r\n Download GPX\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.\r\n
\r\n \r\n \r\n \r\n \r\n

Geocache Description:

\r\n \r\n
\r\n \r\n
Del\u0161\u00ed proch\u00e1zka pro ty, co maj\u00ed r\u00e1di podzem\u00ed, vlhko a smrad... zkr\u00e1tka pro kan\u00e1ln\u00edky!
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
Tuhle zpr\u00e1vu ti nep\u00ed\u0161u proto, abych ti \u0159ekl, \u017ee jsem v po\u0159\u00e1dku. Ur\u010dit\u011b jsi sly\u0161el o tom, co se stalo. P\u0159e\u017eil jsem, ale v po\u0159\u00e1dku, v po\u0159\u00e1dku u\u017e nebudu. Pot\u0159ebuju ti jen p\u0159edat jednu v\u011bc. Celou dobu jsem p\u0159e\u017e\u00edval ve sklep\u011b. M\u016fj d\u011bde\u010dek ho za v\u00e1lky p\u0159estav\u011bl, aby fungoval jako kryt v p\u0159\u00edpad\u011b n\u00e1let\u016f. Tam jsem si ve tm\u011b, chladu a samot\u011b pro\u017eil \u010das, o kter\u00e9m se ned\u00e1 vypr\u00e1v\u011bt. Ned\u00e1 se popsat stav, ve kter\u00e9m je milosrdn\u00fdm \u010dinem, kdy\u017e sv\u00e9ho psa zabije\u0161 a sn\u00ed\u0161, proto\u017ee nechce\u0161, aby vedle tebe zvolna um\u00edral hlady. Na to, jak to v\u0161echno za\u010dalo, m\u00e1m jen mlhav\u00e9 vzpom\u00ednky pln\u00e9 hr\u016fzy, na kterou se boj\u00edm myslet. Co ti ale vypr\u00e1v\u011bt m\u016f\u017eu, je, jak\u00fd byl konec.
\r\n
\r\nNakonec jsem vy\u0161el ven. Ne proto, \u017ee by se ke mn\u011b dostala zpr\u00e1va o tom, \u017ee u\u017e je to bezpe\u010dn\u00e9. Ne proto, \u017ee bych s\u00e1m bezpe\u010dn\u00fd \u010das dok\u00e1zal odhadnout. Ale mo\u017enost \u017e\u00edt d\u00e1l v tom sklep\u011b a zvolna vyhladov\u011bt a mo\u017enost um\u0159\u00edt venku se u\u017e n\u011bjakou chv\u00edli pohupovaly na vah\u00e1ch l\u00e1kavosti na stejn\u00e9 hladin\u011b. A pak p\u0159i\u0161ly ty zvuky. V\u00ed\u0161, tenkr\u00e1t hned po t\u00e9 nehod\u011b nastal hrozn\u00fd hluk. K\u0159ik, pl\u00e1\u010d, r\u00e1ny, sk\u0159\u00edp\u011bn\u00ed. A postupn\u011b to s\u00edlilo, i pod zem\u00ed jsem sly\u0161el dost. \u0158ev, st\u0159elba, stovky r\u016fzn\u00fdch zvuk\u016f v jednom velk\u00e9m panick\u00e9m orchestru. Po n\u011bjak\u00e9 dob\u011b jsem to p\u0159estal poslouchat a stal se z toho \u0161um, kter\u00fd mi v hlav\u011b postupn\u011b utichal. Proto mi n\u011bjakou dobu trvalo, ne\u017e jsem si uv\u011bdomil, \u017ee se m\u011bsto uti\u0161ilo i doopravdy. A to ticho pak trvalo snad nekone\u010dn\u011b dlouho. Ale p\u0159ed n\u011bjakou dobou jsem zvenku poprv\u00e9 n\u011bco zaslechl - zvuk n\u011bjak\u00e9ho stroje a n\u00e1znak n\u011b\u010deho, co mohl, ale taky nemusel, b\u00fdt lidsk\u00fd hlas. Fantazie ve tm\u011b s\u00edl\u00ed. \u010cekal jsem, jestli neusly\u0161\u00edm n\u011bco dal\u0161\u00edho. \u010cekal jsem mo\u017en\u00e1 p\u00e1r hodin, mo\u017en\u00e1 cel\u00e9 dny. \u010cas \u010dasem zmiz\u00ed. \u010cas je jako prostor. Jako se \u010dlov\u011bk bez mapy ztrat\u00ed v hlubok\u00fdch les\u00edch, ztrat\u00ed se mu bez hodin i \u010das. M\u016f\u017ee b\u00fdt kdykoli. Dal\u0161\u00ed zvuk nep\u0159i\u0161el. Ale b\u011bhem toho \u010dek\u00e1n\u00ed se ve mn\u011b v\u0161echno rozhodlo a varianta riskovat smrt vyhr\u00e1la. Myslel jsem na to, \u017ee ten, kdo se tam pohyboval, t\u0159eba u\u017e v\u011bd\u011bl, \u017ee je bezpe\u010dn\u00e9 vyj\u00edt. \u017de by se tam venku nikdo nepohyboval a nemluvil bezd\u016fvodn\u011b.
\r\n
\r\nVenku to vypadalo na prvn\u00ed pohled mnohem oby\u010dejn\u011bji, ne\u017e jsem \u010dekal. V\u0161echno st\u00e1lo na sv\u00e9m m\u00edst\u011b, v\u0161echny domy v na\u0161\u00ed ulici byly nepo\u0161kozen\u00e9, vypadaly jenom jako by v\u0161ichni majitel\u00e9 odjeli na dlouhou dovolenou a ani za sebou nezav\u0159eli dve\u0159e. Zahrady byly zarostl\u00e9 plevelem. Sousedovy ope\u010dov\u00e1van\u00e9 tulip\u00e1ny se topily v mo\u0159i kop\u0159iv. Moje \u017eena ty jeho tulip\u00e1ny prost\u011b zbo\u017e\u0148ovala. Onen den dom\u016f nep\u0159i\u0161la. Neust\u00e1le jsem si v hlav\u011b udr\u017eoval p\u0159edstavu, \u017ee se t\u0159eba nemohla dostat dom\u016f, tak se ukryla jinde. Proch\u00e1zel jsem pr\u00e1zdnou ulic\u00ed, ob\u010das se na n\u00ed v\u00e1lely kusy plechu nebo st\u0159epy. Na prvn\u00ed mrtv\u00e9 jsem narazil a\u017e na k\u0159i\u017eovatce. Byli c\u00edtit zd\u00e1lky. Nikdy p\u0159edt\u00edm jsem mrtvolu nec\u00edtil, ale kdy\u017e \u010dlov\u011bk vid\u00ed auto rozml\u00e1cen\u00e9 o betonov\u00fd sloup a ve vzduchu je nasl\u00e1dl\u00fd z\u00e1pach, tak mu to tak n\u011bjak dojde. Nem\u011bl jsem chu\u0165 si je prohl\u00ed\u017eet. I dal\u0161\u00edm m\u00edst\u016fm, kde jsem cestou tu\u0161il ob\u011bti, jsem se vyh\u00fdbal pohledem. Stezkou, kterou jsem chod\u00edval \u010dasto, jsem do\u0161el a\u017e k \u0159ece.
\r\n
\r\nTa kr\u00e1tk\u00e1 proch\u00e1zka m\u011b vy\u010derpala natolik, \u017ee jsem si u vody musel sednout na zem. Zul jsem si boty a smo\u010dil nohy ve vod\u011b. Kdy\u017e jsem se nad n\u00ed sklonil, uvid\u011bl jsem odraz ve vod\u011b. Chv\u00edli jsem se musel soust\u0159edit, abych v n\u011bm na\u0161el \u010dlov\u011bka, kter\u00e9ho jsem l\u00e9ta v\u00edd\u00e1val v zrcadle. Oz\u00e1\u0159en\u00ed, kter\u00e9 m\u011b muselo zas\u00e1hnout p\u0159ed ukryt\u00edm, m\u011b zbavilo vlas\u016f i vous\u016f, to jsem v\u011bd\u011bl, ale netu\u0161il jsem, kolik m\u00e1m vr\u00e1sek, jak sta\u0159e a se\u0161le vypad\u00e1m. Sp\u00ed\u0161e mrtv\u011b ne\u017e \u017eiv\u011b. Sed\u011bl jsem u vody dlouho a sledoval, jak se houpe lahev zachycen\u00e1 v ko\u0159enech stromu rostouc\u00edho u vody. V\u0161iml jsem si, \u017ee je to oby\u010dejn\u00e1 plastov\u00e1 lahev od Coca-Coly. Pousm\u00e1l jsem se. Bylo tak zvl\u00e1\u0161tn\u00ed, \u017ee tu byla ta lahev, ale nikde kolem nebyl ten bezstarostn\u00fd sv\u011bt, do kter\u00e9ho pat\u0159\u00ed pop\u00edjen\u00ed studen\u00e9 limon\u00e1dy. Nat\u00e1hnul jsem se pro ni s my\u0161lenkou, jestli v lahvi nez\u016fstala aspo\u0148 trocha t\u00e9 sladk\u00e9 v\u016fn\u011b. V lahvi byl sto\u010den\u00fd n\u011bjak\u00fd pap\u00edrek, co\u017e m\u011b nejd\u0159\u00edv nep\u0159ekvapilo. S\u00e1m jsem m\u011bl ve zvyku do pr\u00e1zdn\u00e9 lahve str\u010dit igelit od sva\u010diny \u010di obal od su\u0161enky a vyhodit pak v\u0161echno najednou. P\u0159i bli\u017e\u0161\u00edm pohledu to ale jako obal nevypadalo. Zd\u00e1lo se, \u017ee je tam n\u011bco naps\u00e1no rukou. Otev\u0159el jsem lahev, v\u016fn\u011b v n\u00ed je\u0161t\u011b byla, ale zast\u0159en\u00e1 zka\u017een\u00fdm pachem. Pap\u00edr ne\u0161el vyklepat ven. Proto jsem vyt\u00e1hnul n\u016f\u017e, kter\u00fd jsem nosil v kapse, abych ho ve tm\u011b sklepa m\u011bl st\u00e1le po ruce, a roz\u0159\u00edznul jsem lahev. Vyndal jsem a rozvinul pap\u00edr.
\r\n
\r\nNeb\u00fdt nete\u010dnosti, kter\u00e1 v t\u00e9 dob\u011b tlumila v\u0161echny moje pocity a dojmy, musel bych b\u00fdt v naprost\u00e9m \u0161oku, kdy\u017e jsem zjistil, \u017ee je to vzkaz. Nev\u00edm, jak byl star\u00fd, ale byl od lid\u00ed, co m\u011bli \u0161t\u011bst\u00ed a stihli se z\u0159ejm\u011b schovat v\u010das do bezpe\u010d\u00ed. Te\u010f ale jsou v nouzi a proto t\u00edmhle zoufal\u00fdm zp\u016fsobem pros\u00ed o pomoc. J\u00e1 po nich p\u00e1trat nep\u016fjdu. Jsem vy\u010derpan\u00fd. Mus\u00ed to b\u00fdt v jin\u00e9 \u010d\u00e1sti m\u011bsta, svoji \u017eenu bych tam ur\u010dit\u011b nena\u0161el. Z\u016fstanu v na\u0161em dom\u011b. Pokud p\u0159e\u017eila, tak m\u011b ur\u010dit\u011b p\u0159ijde hledat sem. A i kdyby ne, jak\u00fd smysl by m\u011blo to cel\u00e9 protahovat? Odjet do jin\u00e9ho m\u011bsta, roky tr\u00e1vit v nemocnic\u00edch, ka\u0161lat krev a sledovat l\u00e9ka\u0159e, jak se marn\u011b sna\u017e\u00ed m\u011b zbavit nov\u00fdch a nov\u00fdch n\u00e1dor\u016f? V\u00edm, jak to chod\u00ed a nen\u00ed to nic pro m\u011b. Pat\u0159\u00edm sem, u\u017e te\u010f se c\u00edt\u00edm skoro tak mrtv\u00fd jako tohle m\u011bsto. Proto ti to v\u0161echno p\u00ed\u0161u a pos\u00edl\u00e1m ten dopis z lahve. M\u00e1\u0161 zku\u0161enosti a m\u016f\u017ee\u0161 si sehnat dobr\u00e9 ochrann\u00e9 vybaven\u00ed. \u0160ance nen\u00ed velk\u00e1, ale t\u0159eba je\u0161t\u011b nen\u00ed pozd\u011b. Jednou jsi mi \u0159\u00edkal, \u017ee se zab\u00fdv\u00e1\u0161 hled\u00e1n\u00edm poklad\u016f a te\u010f m\u016f\u017ee\u0161 naj\u00edt a zachr\u00e1nit jeden s cenou mnoha lidsk\u00fdch \u017eivot\u016f.
\r\n\"postapo\"\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Snad tenhle vzkaz n\u011bkdo najde. Je to na\u0161e posledn\u00ed nad\u011bje. U\u017e jsme tady dlouho a bez pomoci se odsud nedostaneme. Vlastn\u011b ani nev\u00edme, jestli v\u016fbec je kam se dost\u00e1vat. O sv\u011bt\u011b naho\u0159e nem\u00e1me \u017e\u00e1dn\u00e9 zpr\u00e1vy. Mo\u017en\u00e1 \u0161iroko daleko nen\u00ed nikdo, kdo by m\u011bl \u0161anci n\u00e1\u0161 vzkaz naj\u00edt. Ale t\u0159eba ano, t\u0159eba je\u0161t\u011b nejsme ztraceni.
\r\n
\r\nKdy\u017e se TO stalo, vracel jsem se zrovna na kolej. Panika se mezi lidmi \u0161\u00ed\u0159ila rychle. S\u00e1m jsem najednou nev\u011bd\u011bl, co d\u011blat. Nikomu jsem se nemohl dovolat. Samoz\u0159ejm\u011b. Byl bych te\u010f nejsp\u00ed\u0161 d\u00e1vno mrtv\u00fd, kdybych nepotkal Davida, spolu\u017e\u00e1ka z\u00a0fakulty. Zd\u00e1lo se, \u017ee n\u011bkam vede skupinku kamar\u00e1d\u016f.
\r\n\u201ePoj\u010f s n\u00e1mi,\u201c zavolal na m\u011b. \u201eA posp\u011b\u0161 si.\u201c
\r\n
\r\nNenechal jsem se pob\u00edzet dvakr\u00e1t. Vyrazili jsme tam, odkud jsem p\u0159i\u0161el \u2013 m\u00ed\u0159ili jsme zp\u00e1tky k\u00a0tramvaji. Cestou jsem se od Davida dozv\u011bd\u011bl, \u017ee pr\u00fd v\u00ed o n\u011bjak\u00e9m m\u00edst\u011b, kde bychom mohli p\u0159e\u010dkat.
\r\n
\"strana1\"
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
M\u011bsto bylo vzh\u016fru nohama. V\u0161ichni n\u011bkam sp\u011bchali, lid\u00e9 si navz\u00e1jem p\u0159ek\u00e1\u017eeli a strkali do sebe. Oz\u00fdvalo se trouben\u00ed aut ob\u010das n\u00e1sledovan\u00e9 zvuky sk\u0159\u00edp\u011bn\u00ed kol \u010di n\u00e1razu. A byla tma. Jedin\u00fdm zdrojem sv\u011btla byla pr\u00e1v\u011b auta, jen ob\u010das m\u011bl n\u011bkdo ru\u010dn\u00ed sv\u00edtilnu. V\u00edckr\u00e1t jsme vid\u011bli n\u011bkoho ut\u00edkat, ale David \u0159\u00edkal, \u017ee nem\u00e1 cenu b\u011bhat, \u017ee je to dost daleko. Pak se zastavil, za\u010dal p\u0159em\u00fd\u0161let, a za chv\u00edli z\u00a0n\u011bj vypadlo, \u017ee tam nem\u016f\u017eeme doj\u00edt v\u010das. Pak ud\u011blal n\u011bco, \u010demu jsem necht\u011bl v\u011b\u0159it. Za\u010dal zastavovat okolo jedouc\u00ed auta t\u00edm, \u017ee jim vstoupil p\u0159\u00edmo do cesty. N\u011bkolikr\u00e1t ho n\u011bkdo m\u00e1lem p\u0159ejel, ale v\u017edycky v\u010das usko\u010dil. A\u017e jedna sle\u010dna zastavila. Zd\u00e1la se b\u00fdt vyd\u011b\u0161en\u00e1 a p\u0159i zastaven\u00ed j\u00ed chc\u00edpnul motor. Vypadala velmi mlad\u011b, vsadil bych se, \u017ee je\u0161t\u011b chodila na st\u0159edn\u00ed. David nev\u00e1hal, sko\u010dil ke dve\u0159\u00edm auta, otev\u0159el a vyt\u00e1hnul j\u00ed ven. Prudce s\u00a0n\u00ed mr\u0161til na ulici a zak\u0159i\u010del: \u201eNastupte!\u201c
\r\n
\r\nS\u00e1m sedl na m\u00edsto \u0159idi\u010de, nastartoval, a ne\u017e jsme za sebou v\u0161ichni zav\u0159eli dve\u0159e, u\u017e se rozj\u00ed\u017ed\u011bl. Sed\u011bl jsem za n\u00edm a pomalu se vzpamatov\u00e1val z\u00a0pr\u00e1v\u011b pro\u017eit\u00e9ho \u0161oku. P\u0159ejeli jsme tramvajov\u00e9 koleje a kli\u010dkovali mezi stoj\u00edc\u00edmi auty. V\u00a0aut\u011b nejd\u0159\u00edv vl\u00e1dlo ticho, ale pak n\u011bkdo prolomil ledy. Dozv\u011bd\u011bl jsem se, \u017ee David se sv\u00fdmi kamar\u00e1dy zrovna m\u00ed\u0159il do hospody, i pro n\u011b to tedy byla \u0161\u0165astn\u00e1 n\u00e1hoda, jinak by pr\u00fd nikdo z\u00a0nich nev\u011bd\u011bl, kam j\u00edt.
\r\n
\r\nKdy\u017e jsme proj\u00ed\u017ed\u011bli kolem nemocnice, \u0160\u00e1rku napadlo, \u017ee bychom m\u011bli sehnat n\u011bjak\u00e9 j\u00eddlo.
\r\n\u201eS t\u00edm se po\u010d\u00edt\u00e1,\u201c ozval se David zep\u0159edu. \u201eKousek odsud je Penny market, tam zastav\u00edme.\u201c
\r\n
\"strana2\"
\r\n\"stalhovnaty\"\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Chv\u00edli nato jsme p\u0159ijeli ke k\u0159i\u017eovatce. Uprost\u0159ed byla dv\u011b do sebe zakl\u00edn\u011bn\u00e1 auta. Tato nehoda v\u0161ak nep\u0159edstavovala \u017e\u00e1dn\u00fd probl\u00e9m, auta se dala bez probl\u00e9m\u016f objet. Tvo\u0159ila st\u0159ed pomysln\u00e9ho kruhov\u00e9ho objezdu. A \u0159idi\u010di p\u0159ij\u00ed\u017ed\u011bj\u00edc\u00ed z\u00a0r\u016fzn\u00fdch stran to tak v\u00edcem\u00e9n\u011b brali. Ka\u017ed\u00fd asi intuitivn\u011b zpomalil, kdy\u017e vid\u011bl boura\u010dku. Projeli jsme kolem a pokra\u010dovali st\u00e1le stejn\u00fdm sm\u011brem. P\u0159i tom jsem si v\u0161imnul, \u017ee v\u00a0jednom z\u00a0nabouran\u00fdch aut st\u00e1le sed\u00ed zakl\u00edn\u011bn\u00fd \u0159idi\u010d. M\u00e1val rukama, ale nikdo nezastavil, aby mu pomohl.
\r\n
\r\nProjeli jsme kolem \u010derpa\u010dky a u\u017e byl vid\u011bt sl\u00edben\u00fd supermarket. David k\u00a0n\u011bmu zajel a zastavil hned u vjezdu. A dob\u0159e ud\u011blal. Stejn\u00fd n\u00e1pad jako my m\u011blo o\u010dividn\u011b v\u00edc lid\u00ed a parkovi\u0161t\u011b se chaoticky plnilo. Tom\u00e1\u0161 a \u0160\u00e1rka z\u016fstali v\u00a0aut\u011b, aby mohli odjet a po\u010dkat na domluven\u00e9m m\u00edst\u011b, kdyby se n\u011bco semlelo. My ostatn\u00ed jsme se vydali \u201enakupovat\u201c.
\r\n
\r\nVr\u00e1tili jsme se se dv\u011bma pln\u00fdmi voz\u00edky j\u00eddla a jali se jejich obsah skl\u00e1dat do auta. P\u0159i odchodu z\u00a0kr\u00e1mu m\u011b napadlo, \u017ee by se mohly hodit n\u011bjak\u00e9 ta\u0161ky. Vzal jsem jich spoustu, co\u017e se pozd\u011bji uk\u00e1zalo jako rozumn\u00e9. S\u00a0nalo\u017een\u00fdm autem jsme vyrazili z\u00a0parkovi\u0161t\u011b a cht\u011bli pokra\u010dovat v\u00a0cest\u011b. Jen\u017ee to prost\u011b ne\u0161lo. Cel\u00e1 ulice t\u00edm sm\u011brem byla ucpan\u00e1, pln\u00e9 aut byly i okoln\u00ed chodn\u00edky a tr\u00e1vn\u00edky. Nezb\u00fdvalo ne\u017e se vr\u00e1tit, odkud jsme p\u0159ijeli. Na k\u0159i\u017eovatce s\u00a0boura\u010dkou jsme znovu projeli kolem zakl\u00edn\u011bn\u00e9ho \u0159idi\u010de, kter\u00fd st\u00e1le m\u00e1val, a pokra\u010dovali vpravo. David byl z\u0159ejm\u011b nerv\u00f3zn\u00ed ze zdr\u017een\u00ed a po\u0159\u00e1dn\u011b na to \u0161l\u00e1pnul. \u0158\u00edtili jsme se z\u00a0kopce, a\u017e jsem se za\u010dal b\u00e1t. Po\u0159\u00e1d m\u00e1m v\u00a0\u017eiv\u00e9 pam\u011bti ten n\u00e1raz na \u017eelezni\u010dn\u00edm p\u0159ejezdu; myslel jsem, \u017ee se auto rozpadne. Jeli jsme ale d\u00e1l, po\u0159\u00e1d v\u00edcem\u00e9n\u011b rovn\u011b. Chv\u00edli byly nad ulic\u00ed troleje, pak pokra\u010dovaly vlevo, zat\u00edmco my jeli d\u00e1l rovn\u011b, a za n\u011bjakou dobu se p\u0159ipojily jin\u00e9 zprava. Chv\u00edli potom jsme p\u0159ijeli na dal\u0161\u00ed k\u0159i\u017eovatku s\u00a0nehodou, op\u011bt se v\u0161ak dala objet. Ani jsem se nekoukal, jestli v\u00a0havarovan\u00fdch autech n\u011bkdo nez\u016fstal. Stejn\u011b na tom nez\u00e1le\u017e\u00ed \u2013 kdo se nem\u00e1 kam ukr\u00fdt, je odsouzen k\u00a0smrti. T\u011b\u017eko \u0159\u00edct, kam a\u017e sah\u00e1 z\u00f3na zamo\u0159en\u00ed, ale zkou\u0161et tomu ujet asi nem\u00e1 smysl.
\r\n
\"strana3\"
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Pokra\u010dovali jsme doleva p\u0159es most. Jak jsme opustili m\u011bsto, silnice byla \u010d\u00edm d\u00e1l voln\u011bj\u0161\u00ed. Hlavn\u011b nikdo nejel proti n\u00e1m. V\u0161ichni se pokou\u0161eli m\u011bsto opustit. Zaj\u00edmav\u00e9.
\r\n
\r\nProjeli jsme kolem h\u0159bitova a pokra\u010dovali zahr\u00e1dk\u00e1\u0159skou koloni\u00ed, a\u017e jsme se dostali do pol\u00ed. \u0158\u00edtili jsme se no\u010dn\u00ed krajinou nev\u00edm jak dlouho a po\u0159\u00e1d se vzdalovali od Plzn\u011b. V\u00a0nejbli\u017e\u0161\u00ed vesnici jsme ale zabo\u010dili doleva. Vzpom\u00edn\u00e1m si, \u017ee na t\u00e9 ulici byly ze za\u010d\u00e1tku dla\u017eebn\u00ed kostky m\u00edsto asfaltu. Pokra\u010dovali jsme st\u00e1le d\u00e1l a \u0159ezali zat\u00e1\u010dky mezi domy. P\u0159ejeli jsme most p\u0159es n\u011bjakou \u0159eku, za kter\u00fdm n\u00e1sledovala t\u00e1hl\u00e1 zat\u00e1\u010dka doleva. Tam David za\u010dal zpomalovat. Na rovn\u00e9m \u00faseku pak po\u0159\u00e1d koukal doleva. A\u017e t\u011bsn\u011b pod kopcem na\u0161el to, co hledal. Ze silnice tam odbo\u010dovala nen\u00e1padn\u00e1 cesta dol\u016f.
\r\n
\r\nVystoupili jsme, ka\u017ed\u00fd popadl, kolik ta\u0161ek unesl a posp\u00edchali jsme stezkou do k\u0159ov\u00ed. Za chvilku jsme ve svitu baterek spat\u0159ili asi metr vysokou betonovou stavbu. Kdy\u017e jsme p\u0159i\u0161li bl\u00ed\u017e, v\u0161iml jsem si, \u017ee naho\u0159e je n\u011bjak\u00fd poklop. Pr\u00e1v\u011b tam David zam\u00ed\u0159il. Odsunul ho stranou a odhalil tak \u0161achtu, ze kter\u00e9 \u0161el chlad. Na st\u011bn\u011b byl \u017eeb\u0159\u00edk, tak\u017ee jsme v\u0161ichni postupn\u011b slezli dol\u016f a dopravili tam i na\u0161e z\u00e1soby j\u00eddla. Posledn\u00ed \u0161el David, kter\u00fd za n\u00e1mi d\u016fkladn\u011b zav\u0159el poklop. Od t\u00e9 doby u\u017e jsem nevid\u011bl denn\u00ed sv\u011btlo. Ani no\u010dn\u00ed. Celou dobu jsme sice jeli v\u00a0noci, ale a\u017e tady byla skute\u010dn\u00e1 tma.
\"strana4\"
\r\n\"vlez\"\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Dole jsem se za\u010dal rozhl\u00ed\u017eet. Okam\u017eit\u011b m\u011b zaujalo zur\u010den\u00ed podzemn\u00edho pot\u016f\u010dku. Nebyli jsme ale v\u00a0\u017e\u00e1dn\u00e9 jeskyni, bylo to um\u011bl\u00e9. St\u00e1li jsme v\u00a0jak\u00e9si m\u00edstnosti, kter\u00e1 m\u011bla v\u00a0rohu otvor v\u00a0podlaze. Odtud byly sly\u0161et ty zvuky. Na st\u011bn\u011b byla stup\u00e1tka, po kter\u00fdch jsme slezli dol\u016f. Voda p\u0159it\u00e9kala z\u00a0velik\u00e9 roury a mizela v\u00a0d\u00e1lce v\u00a0tunelu. Zd\u00e1la se b\u00fdt k\u0159i\u0161\u0165\u00e1lov\u011b \u010dist\u00e1. Jeden za druh\u00fdm jsme se vydali do tunelu. \u0160li jsme lehce shrbeni a vedle n\u00e1s st\u00e1le \u0161plouchala voda. Nec\u00edtil jsem se tam p\u0159\u00edjemn\u011b a jen d\u00edky p\u0159\u00edtomnosti ostatn\u00edch jsem se neb\u00e1l. Na st\u011bn\u00e1ch byl n\u00e1t\u011br, kter\u00fd se m\u00edsty olupoval, a ze stropu ob\u010das n\u011bco viselo. Tunel u\u017e asi m\u011bl svoje nejlep\u0161\u00ed l\u00e9ta za sebou.
\r\n
\r\nZanedlouho jsme dorazili k\u00a0vyv\u00fd\u0161en\u00e9mu m\u00edstu. Bylo p\u0159\u00edjemn\u00e9 se po\u0159\u00e1dn\u011b narovnat. Nad n\u00e1mi \u00fastila velk\u00e1 roura vedouc\u00ed vzh\u016fru nezn\u00e1mo kam. Kousek vedle byla stup\u00e1tka, po kter\u00fdch se dalo vyl\u00e9zt nahoru do mal\u00e9 m\u00edstnosti podobn\u00e9 t\u00e9, skrz kterou jsme se do podzem\u00ed dostali. Zd\u00e1lo se n\u00e1m to jako dobr\u00e9 m\u00edsto pro \u00fakryt, lep\u0161\u00ed ne\u017e v\u00a0tunelu u vody. Vytahali jsme tedy v\u0161echny na\u0161e v\u011bci nahoru a rozhodli se z\u016fstat. Bylo to tam mal\u00e9, ale je\u0161t\u011b v\u00fd\u0161 byla dal\u0161\u00ed patra, do kter\u00fdch vedly \u017eeb\u0159\u00edky, tak jsme se tam v\u0161ichni pohodln\u011b ve\u0161li.
\r\n
\r\nN\u011bjakou dobu jsme tam str\u00e1vili, ale bylo t\u011b\u017ek\u00e9 vydr\u017eet \u00famorn\u00e9 nicned\u011bl\u00e1n\u00ed. V\u011bd\u011bli jsme, \u017ee nem\u016f\u017eeme vyl\u00e9zt a \u017ee v\u00a0podzem\u00ed pravd\u011bpodobn\u011b str\u00e1v\u00edme dlouh\u00fd \u010das, ale co takhle dole d\u011blat? Na\u0161t\u011bst\u00ed n\u011bkoho p\u0159i \u201en\u00e1kupu\u201c napadlo vz\u00edt spoustu bateri\u00ed, tak\u017ee jsme si mohli sv\u00edtit.
\"strana5\"
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Stejn\u011b jsme se ale brzy rozhodli vyrazit na pr\u016fzkum d\u00e1l do hloubi tunelu. V\u0161echny v\u011bci jsme nechali na m\u00edst\u011b. Necht\u011bli jsme se s\u00a0nimi tahat, kdy\u017e jsme nev\u011bd\u011bli, jestli najdeme n\u011bjak\u00e9 lep\u0161\u00ed m\u00edsto.
\r\n
\r\nMoc dlouho jsme ne\u0161li a narazili jsme na men\u0161\u00ed tunel vpravo. Pokra\u010dovali jsme d\u00e1le po proudu a za chv\u00edli narazili na dal\u0161\u00ed men\u0161\u00ed p\u0159\u00edtok, tentokr\u00e1t zleva. Nikde v\u0161ak nebylo \u017e\u00e1dn\u00e9 vhodn\u00e9 m\u00edsto pro p\u0159e\u010dk\u00e1n\u00ed del\u0161\u00edho \u010dasu. Pokra\u010dovali jsme st\u00e1le d\u00e1l, a\u017e jsme p\u0159i\u0161li k\u00a0m\u00edstu podobn\u00e9mu tomu, kde jsme nechali na\u0161e v\u011bci. Tentokr\u00e1t v\u0161ak jen s\u00a0jedn\u00edm patrem. Nel\u00edbilo se n\u00e1m tam, a tak jsme se vydali na dal\u0161\u00ed pr\u016fzkum st\u00e1le po proudu.
\r\n
\r\nMinuli jsme dal\u0161\u00ed chodbu, kterou tekla trocha vody, a po n\u011bjak\u00e9 dob\u011b jsme dorazili k\u00a0dal\u0161\u00edmu vyv\u00fd\u0161en\u00e9mu m\u00edstu, kde bylo mo\u017en\u00e9 po stupa\u010dk\u00e1ch vyl\u00e9zt do prostor nad tunelem. Vypadalo to tam v\u0161ak stejn\u011b jako v\u00a0t\u011bch p\u0159edchoz\u00edch, tak\u017ee jsme rad\u0161i pokra\u010dovali je\u0161t\u011b d\u00e1l tunelem. Ze st\u011bn sem tam na n\u011bkolika m\u00edstech tr\u010dely roury s\u00a0p\u00e1kov\u00fdmi ventily. Narazili jsme i na jak\u00fdsi tlakom\u011br; nikoho ale nenapadalo, k\u00a0\u010demu by mohl slou\u017eit. U\u017e jsme si \u0159\u00edkali, \u017ee se rad\u0161i vr\u00e1t\u00edme, \u017ee u\u017e na \u017e\u00e1dn\u00e9 lep\u0161\u00ed m\u00edsto nenaraz\u00edme, kdy\u017e se p\u0159ed n\u00e1mi vyno\u0159ilo dal\u0161\u00ed vyv\u00fd\u0161en\u00e9 m\u00edsto. Tentokr\u00e1t to tam vypadalo trochu jinak, \u0161achta vedouc\u00ed vzh\u016fru m\u011bla kruhov\u00fd profil. Jinak se ale zd\u00e1lo b\u00fdt v\u0161e p\u0159i star\u00e9m. A\u017e v\u00a0posledn\u00edm pat\u0159e n\u00e1s zaujala kr\u00e1tk\u00e1 chodba.
\"strana6\"
\r\n\"postava\"\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\u201eTady si m\u016f\u017eeme lehnout v\u0161ichni k\u00a0sob\u011b,\u201c \u0159ekla Jana nahlas to, co asi napadlo i ostatn\u00ed. V\u00a0na\u0161em p\u016fvodn\u00edm \u00fakrytu jsme toti\u017e museli sp\u00e1t ve v\u00edce patrech, do jednoho jsme se neve\u0161li.
\r\nNikdo nic nenam\u00edtal, tak\u017ee jsme se vr\u00e1tili pro na\u0161e v\u011bci a p\u0159inesli si je do nov\u00e9ho \u00fakrytu. Kdy\u017e jsme v\u0161echno vytahali a\u017e nahoru, byli jsme dost unaven\u00ed. Najedli jsme se, vypili 2 v\u00edna (kdy\u017e u\u017e je s\u00a0sebou tah\u00e1me, tak pro\u010d je neotev\u0159\u00edt?) a \u0161li celkem spokojen\u011b sp\u00e1t. Nikoho p\u0159itom nenapadlo, jak\u00e1 hr\u016fza n\u00e1s \u010dek\u00e1.
\r\n
\r\nProbudil n\u00e1s hluk vody. Zn\u011blo to najednou jinak, ne\u017e jsme byli zvykl\u00ed. Dal\u0161\u00ed zm\u011bnou byl smrad. Nem\u016f\u017eu \u0159\u00edct, \u017ee by to tu p\u0159edt\u00edm n\u011bjak von\u011blo, to ne. P\u0159eci jen jsou to vlhk\u00e9 nev\u011btran\u00e9 podzemn\u00ed prostory. Tohle ale bylo jin\u00e9. Lezli jsme dol\u016f k\u00a0pot\u016f\u010dku a okam\u017eit\u011b odhalili p\u0159\u00ed\u010dinu. Vody v\u00fdrazn\u011b p\u0159ibylo a nebyla u\u017e to voda, ale odporn\u011b p\u00e1chnouc\u00ed b\u0159e\u010dka. Zvedal se mi z\u00a0toho \u017ealudek.
\r\n
\r\nTo byl za\u010d\u00e1tek konce. Hladina sice pozd\u011bji op\u011bt klesla, ale to, co tam teklo, bylo po\u0159\u00e1d stejn\u011b odporn\u00e9. V\u010detn\u011b nesnesiteln\u00e9ho z\u00e1pachu, kter\u00fd se roz\u0161\u00ed\u0159il a\u017e k\u00a0na\u0161emu do\u010dasn\u00e9mu p\u0159\u00edbytku. Od t\u00e9 doby se vzestup a pokles hladiny n\u011bkolikr\u00e1t opakoval. Neodva\u017eovali jsme se znovu vydat tunelem, nikdo z\u00a0n\u00e1s si nep\u0159\u00e1l smrt utopen\u00edm v\u00a0tom, co tam teklo. Te\u010f u\u017e nem\u00e1me dost sil se odsud v\u016fbec dostat. Pomozte. Kdy\u017e u\u017e to neud\u011bl\u00e1te kv\u016fli n\u00e1m, tak v\u011bzte, \u017ee jsme sem nep\u0159i\u0161li s\u00a0pr\u00e1zdnou. M\u00e1me n\u011bco, po \u010dem ka\u017ed\u00fd dobrodruh jako vy ur\u010dit\u011b ba\u017e\u00ed.
\"strana7\"
\r\n\"strana8\" \"meric\" \"strana9\" \"strana10\" \"odlehcovacka\" \"strana11\" \"chodba\"\r\n
\r\n

Bezpe\u010dnostn\u00ed pokyny

\r\n

P\u0159ed v\u00fdpravou

\r\n
    \r\n
  • P\u0159e\u010dt\u011bte Z\u00e1klady bezpe\u010dnosti v podzem\u00ed a t\u0159eba tak\u00e9 Kan\u00e1lov\u00e9 ke\u0161ky: Bezpe\u010dnost p\u0159edev\u0161\u00edm
  • \r\n
  • Po\u010d\u00edtejte p\u0159i pl\u00e1nov\u00e1n\u00ed s t\u00edm, \u017ee v\u00e1s \u010dekaj\u00ed p\u0159ibli\u017en\u011b 3 hodiny v podzem\u00ed.
  • \r\n
  • Pokud pr\u0161\u00ed, nechte to na jindy. Pokud m\u00e1 pr\u0161et, nechte to na jindy. Pokud podle p\u0159edpov\u011bdi pr\u0161et nem\u00e1, ale p\u0159esto to na d\u00e9\u0161\u0165 vypad\u00e1, nechte to tak\u00e9 na jindy.
  • \r\n
  • Vezm\u011bte si oble\u010den\u00ed, kter\u00e9 v\u00e1m zakryje cel\u00e9 t\u011blo, v\u010detn\u011b hlavy. Nebudete nikde l\u00e9zt po \u010dty\u0159ech ani se plazit, ale zakryt\u00ed t\u011bla ocen\u00edte. Dobr\u00e9 je m\u00edt kvalitn\u00ed rukavice.
  • \r\n
  • Obujte si gumovky. Sta\u010d\u00ed n\u00edzk\u00e9. N\u011bjak\u00e9 v\u011bt\u0161\u00ed brod\u011bn\u00ed v\u00e1s ne\u010dek\u00e1, p\u0159esto to chce boty, co nic nepropust\u00ed a nevs\u00e1kne se do nich z\u00e1pach.
  • \r\n
  • Jako v\u0161ude v\u00a0podzem\u00ed si vezm\u011bte dva nez\u00e1visl\u00e9 zdroje sv\u011btla.
  • \r\n
  • Necho\u010fte na ke\u0161 nikdy sami.
  • \r\n
  • V\u017edy je lep\u0161\u00ed, kdy\u017e n\u011bkdo, kdo nejde s\u00a0v\u00e1mi, v\u00ed, kam jste \u0161li.
  • \r\n
  • V souvislosti s kan\u00e1lov\u00fdmi ke\u0161emi se \u010dasto zmi\u0148uje nebezpe\u010d\u00ed potkan\u016f. V t\u011bchto m\u00edstech jsme ale nikdy \u017e\u00e1dn\u00e9ho nepotkali a tak mysl\u00edme, \u017ee se jich zde nen\u00ed t\u0159eba b\u00e1t.
  • \r\n
  • Dobr\u00e9 je m\u00edt antibakteri\u00e1ln\u00ed ubrousky nebo gel. Ocen\u00edte je, jakmile vylezete ven a budete \u017e\u00edzniv\u00ed a vyhl\u00e1dl\u00ed.
  • \r\n
  • Na tuto ke\u0161 se m\u016f\u017eete vypravit zcela bez GPS navigace, pokud budete m\u00edt s sebou (nap\u0159. vytisknut\u00fd) dopis z lahve. (N\u00e1\u0161 t\u00fdm za\u010d\u00ednal s hled\u00e1n\u00edm ke\u0161\u00ed podle vyti\u0161t\u011bn\u00e9 fotomapy, tak\u017ee jsme usoudili, \u017ee se tato informace m\u016f\u017ee hodit.)
  • \r\n
\r\n

B\u011bhem v\u00fdpravy

\r\n
    \r\n
  • Pokud jste dodr\u017eeli pokyny, co se t\u00fd\u010de po\u010das\u00ed, nem\u011blo by v\u00e1s dole nic p\u0159ekvapit. P\u0159esto si d\u00e1vejte pozor a p\u0159edev\u0161\u00edm zpozorn\u011bte, pokud by za\u010dala, by\u0165 jen m\u00edrn\u011b, stoupat hladina.
  • \r\n
  • Nemus\u00ed to nic znamenat, ale pokud by stoup\u00e1n\u00ed pokra\u010dovalo, vylezte do jednoho z\u00a0v\u00edcepatrov\u00fdch v\u00fdlez\u016f (podobn\u00e9, jak\u00fdm jste se dostali dovnit\u0159, jsou celou cestu). Zde by v\u00e1m nem\u011blo nic hrozit.
  • \r\n
  • V\u00a0n\u011bkter\u00fdch v\u00fdlezech se lze v\u011btrac\u00ed m\u0159\u00ed\u017ekou pod\u00edvat ven. M\u016f\u017eete tak poznat, zda venku pr\u0161\u00ed nebo zda voda stoup\u00e1 z\u00a0jin\u00e9ho d\u016fvodu, nap\u0159. n\u011bkdo za\u010dal n\u011bco vypou\u0161t\u011bt. Tak\u00e9 si v\u00a0p\u0159\u00edpad\u011b jak\u00e9koli nouze m\u016f\u017eete p\u0159ivolat pomoc, mobiln\u00ed sign\u00e1l pod poklopem b\u00fdv\u00e1.
  • \r\n
\r\n

K listingu

\r\n
    \r\n
  • Pod obr\u00e1zky s dopisem se schov\u00e1v\u00e1 text shodn\u00fd s ru\u010dn\u011b psan\u00fdm textem na obr\u00e1zc\u00edch. \u017d\u00e1dn\u00e1 \u0161ifra v tom nen\u00ed. Slou\u017e\u00ed k tomu, aby byl dopis v listingu z\u00e1rove\u0148 v textov\u00e9 podob\u011b. Na p\u0159\u00edstroj\u00edch, kter\u00e9 nezobrazuj\u00ed obr\u00e1zky (navigace, telefon), bude tedy tak\u00e9 mo\u017en\u00e9 dopis \u010d\u00edst.
  • \r\n
  • Dopis z lahve se opravdu hod\u00ed m\u00edt s sebou, proto jsme p\u0159ipravili je\u0161t\u011b \u010dernob\u00edlou verzi dopisu vhodn\u011bj\u0161\u00ed k vytisknut\u00ed.
  • \r\n
\r\n
\r\n\"kyticka\"
\r\n \r\n
\r\n \r\n \r\n \r\n

\r\n \r\n Additional Hints\r\n (No hints available.)

\r\n
\r\n \r\n
\r\n
\r\n


\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \n
\n \n Log geocache\n \n \n \n
\n\n\r\n \r\n \r\n
\r\n \r\n

\r\n Attributes\r\n

\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\t\t\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Advertising with Us\r\n

\r\n \r\n \r\n\t
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \n
\n \n

\n Inventory\n

\n
\n \n \n
\r\n\t\t\n

There are no Trackables in this cache.

\n \r\n\t
\n \n\n \n
\n \n \n
\n\r\n \n
\n

\n Bookmark Lists\n

\n
\n \n \n \n

\n View all 4 bookmark lists...\n

\n
\n
\n\n\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n

\r\n  
\r\n \r\n \r\n

\r\n \r\n
\r\n\t\t\r\n
\r\n \r\n
\r\n
\r\n

\r\n View Larger Map\r\n

\r\n
\r\n
\r\n \r\n\t
\r\n \r\n

\r\n Find...\r\n
\r\n \r\n

\r\n \r\n

\r\n For online maps...\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \n\n\n\n\n\n\n\n\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n" + }, + "headers": { + "Cache-Control": [ + "no-cache" + ], + "Content-Length": [ + "157463" + ], + "Content-Type": [ + "text/html; charset=utf-8" + ], + "Date": [ + "Mon, 22 Aug 2022 17:48:38 GMT" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Request-Context": [ + "appId=cid-v1:019d82c2-5dd7-44cb-aa94-01e052f0d40c" + ], + "Set-Cookie": [ + "gspkauth=; domain=.geocaching.com; expires=Thu, 22-Sep-2022 17:48:39 GMT; path=/; secure; HttpOnly", + "Culture=en-US; path=/; secure; HttpOnly" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "X-Frame-Options": [ + "SAMEORIGIN", + "SAMEORIGIN" + ], + "X-XSS-Protection": [ + "1" + ] + }, + "status": { + "code": 200, + "message": "OK" + }, + "url": "https://www.geocaching.com/geocache/GC4808G_nekonecne-ticho" + } + } + ], + "recorded_with": "betamax/0.8.1" +} \ No newline at end of file diff --git a/test/test_cache.py b/test/test_cache.py index aa5af48..52e3264 100644 --- a/test/test_cache.py +++ b/test/test_cache.py @@ -407,6 +407,19 @@ def test_cache_types(self): self.assertEqual(cache.type, Type.geocaching_hq) +class TestCacheIssues(LoggedInTest): + def test_author(self): + with self.subTest("normal"): + cache = Cache(self.gc, "GC4808G") + with self.recorder.use_cassette("cache_author_normal"): + self.assertEqual("Bifurkační tým", cache.author) + + with self.subTest("deleted"): + cache = Cache(self.gc, "GC1MX0C") + with self.recorder.use_cassette("cache_author_deleted"): + self.assertIsNone(cache.author) + + class TestWaypointProperties(unittest.TestCase): def setUp(self): self.w = Waypoint("id", "Parking", Point("N 56° 50.006′ E 13° 56.423′"), "This is a test")