Pseudopostega tucumanae
Pseudopostega tucumanae is a moth of the family Opostegidae. It is only known from the province of Tucuman, in northern Argentina at an elevation of 800 meters.
Pseudopostega tucumanae | |
---|---|
Scientific classification ![]() | |
Kingdom: | Animalia |
Phylum: | Arthropoda |
Class: | Insecta |
Order: | Lepidoptera |
Family: | Opostegidae |
Genus: | Pseudopostega |
Species: | P. tucumanae |
Binomial name | |
Pseudopostega tucumanae D.R. Davis & J.R. Stonis, 2007 | |
The length of the forewings is 3.1–4 mm. Adults are mostly white. Adults have been collected in December and February.
Etymology
The specific epithet is derived from Tucuman, the province in Argentina from whence the type series was collected.
gollark: ```pythonfrom requests_futures.sessions import FuturesSessionimport concurrent.futures as futuresimport randomtry: import cPickle as pickleexcept ImportError: import pickletry: words_to_synonyms = pickle.load(open(".wtscache")) synonyms_to_words = pickle.load(open(".stwcache"))except: words_to_synonyms = {} synonyms_to_words = {}def add_to_key(d, k, v): d[k] = d.get(k, set()).union(set(v))def add_synonyms(syns, word): for syn in syns: add_to_key(synonyms_to_words, syn, [word]) add_to_key(words_to_synonyms, word, syns)def concat(list_of_lists): return sum(list_of_lists, [])def add_words(words): s = FuturesSession(max_workers=100) future_to_word = {s.get("https://api.datamuse.com/words", params={"ml": word}): word for word in words} future_to_word.update({s.get("https://api.datamuse.com/words", params={"ml": word, "v": "enwiki"}): word for word in words}) for future in futures.as_completed(future_to_word): word = future_to_word[future] try: data = future.result().json() except Exception as exc: print(f"{exc} fetching {word}") else: add_synonyms([w["word"] for w in data], word)def getattr_hook(obj, key): results = list(synonyms_to_words.get(key, set()).union(words_to_synonyms.get(key, set()))) if len(results) > 0: return obj.__getattribute__(random.choice(results)) else: raise AttributeError(f"Attribute {key} not found.")def wrap(obj): add_words(dir(obj)) obj.__getattr__ = lambda key: getattr_hook(obj, key)wrap(__builtins__)raise __builtins__.quibble()```
gollark: table.deepcopy, table.shallowcopy, table.slice, table.filter, table.map
gollark: Same with many other utility thingies.
gollark: Not really. They could have table.copy but they don't.
gollark: Besides, passing by reference? Evil.
External links
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.