GithubHelp home page GithubHelp logo

cvut / ni-pyt Goto Github PK

View Code? Open in Web Editor NEW
112.0 19.0 28.0 4.12 MB

Materiály k předmětu NI-PYT na FIT ČVUT

Home Page: https://courses.fit.cvut.cz/NI-PYT/

License: Creative Commons Attribution Share Alike 4.0 International

YAML 2.43% AsciiDoc 97.57%
study python python3 testing czech university qt5 numpy flask micropython

ni-pyt's People

Contributors

145k0v avatar andrenvk avatar bogdanbodnar avatar cermato avatar encukou avatar ggljzr avatar honzajavorek avatar hroncok avatar hubnedav avatar janpipek avatar jirutka avatar jnv avatar kalvotom avatar mareksuchanek avatar novacekjan avatar oskar456 avatar pistomat avatar slowbackspace avatar tulinkry avatar vknaisl avatar wilson194 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ni-pyt's Issues

English translation

The course seems awesome but unfortunately my czech skills are not nearly that good yet, and while it's not something urgent it would be great to have an english version as well at some point.

Instalace přes pip (testovací PyPi)

Já mám menší problém s instalací balíčku pomocí pipu z testovací PyPi. Když projekt stáhnu z githubu a nainstaluju pomocí setup.py install, tak všechno funguje jak má.

Stejně tak funguje instalace pomocí pipu, když použiju přímý link na archiv s projektem, tedy

python -m pip install https://testpypi.python.org/packages/.../pytwitter-0.3.3.tar.gz

Když ale zkusím balíček nainstalovat přímo, tedy:

python -m pip install -i  https://testpypi.python.org/pypi pytwitter

vypíše program chybu při řešení závislostí:

Could not find a version that satisfies the requirement Flask>=0.11.1 (from pytwitter) (from versions: )
No matching distribution found for Flask>=0.11.1 (from pytwitter)

Verze použitých modulů jsem získal pomocí pip freeze, předpokládám teda, že problém je v tim přepínači -i https://testpypi... . Ještě jsem zkoušel přepínač --extra-index-url, tedy:

python -m pip install --extra-index-url  https://testpypi.python.org/pypi pytwitter

Ten však nainstaluje nějaký uplně jiný projekt než můj :-) (hádám, že jde o konflikt názvů projektů na normální a testovací PyPi).

Měl bych tedy změnit verze potřebných modulů (například při změně verze Flasku na 0.10 tahle závislost projde, ale spadne to hned na další (click 6.6)), přejmenovat projekt na něco jiného a nahrát ho znova nebo použít nějaký jiný přepinač pipu pro instalaci z testovací PyPi?

(všechny instalace jsem testoval na novém, prázdném virtuálním prostředí)

Úkol na Flask a vazba na Click

Po poslední změně v materiálech pouštíme Flaks pomocí flask run. V zadání úkolu na Flask chceme, aby byl použitý click na spuštění webové aplikace. Tato kombinace je zvláštní a je třeba se nad ní přinejmenším zamyslet.

Náročnost úloh

Ze studentské ankety:

Prva polovica semestra bola dobra, ucivo mozno az prilis jednoduche. Potom sa narocnost uciva vyrazne zvysila, chcelo by to narocnost trochu zrovnat. Mozno zacat narocnejsimi vecami (napr. spojit 1. a 2. ulohu do jednej), aby viac casu zvysilo na narocnejsie veci a tie rozdelit na viac cviceni.

Přišlo mi, že obtížnost, resp. náročnost úloh byla koncem semestru až moc velká. Chápu, že cílem je procvičit dané téma, ale např. v úkolu na implementaci různých typů postav v bludišti (async) by jich stačilo implementovat menší počet. Dále k asyncio - možná je to tím, že jsem se s asynchronním programováním poprvé potkal tady, ale rozdělil bych toto téma do dvou cvičení, bylo toho celkem dost najednou. Nevím jak moc je tohle reálné, ale počet kreditů bych klidně i navýšil. Řekl bych, že po matematice mi MI-PYT zabral nejvíc času, ale byl za nejméně kreditů.

Trochu snížit náročnost nebo intenzitu domácích úkolů. Na volitelný předmět toho bylo trochu hodně.

Požadavků na některé úlohy v semestru je podle mě zbytečně mnoho, obzvlášť vzhledem k týdenním deadlinům. Byl jsem nucen dávat přednost úlohám z povinných předmětů a tyto jsem pak stíhal jen s obtížemi (ke konci už vůbec).

Nesmyslně krátké deadliny, pokud by byl předmět povinný a byl za 8 kreditů pak my možná týdenní dedliny s nemožnosti konzultace na cvičení dávaly smysl Hrozné zadání úkolů, pouze text (jako vážně?) vrcholem pro mě bylo bludiště (kolik hodin času by ušetřil generátor bludišť nebo jedno ukázkové zadání a řešení) Předmět byl dle mého spíše zaměřený na lidi, kteří už si na zvolené technologie alespoň trochu sáhli Nesmyslně přísné hodnocení úkolů s nemožností opravy Úkoly vypadaly jako, že se nejdřív napsalo referenční řešení a až zpětně se psalo zadání

Některé úkoly mi přišli otravné a nezajímavé (dokumentace, testy), ale chápu, že je to potřeba vysvětlit a ukázat. Úkoly každý týden zabíraly poměrně hodně času, možná jsem si ale už odvykl na stresující kolotoč úkolů z PA2 a zlenivěl jsem.

Dostupnost materialov vopred, aby si bolo mozne prejst zadaniu uloh a uz pri navrhu prvej casti mysliet na dalsie upravy. Prva polovica semestra bola dobra, ucivo mozno az prilis jednoduche. Potom sa narocnost uciva vyrazne zvysila, chcelo by to narocnost trochu zrovnat. Mozno zacat narocnejsimi vecami (napr. spojit 1. a 2. ulohu do jednej), aby viac casu zvysilo na narocnejsie veci a tie rozdelit na viac cviceni.

Nastavení webové verze Github label bota

Lze ke githubovému webhooku připojit vlastní payload kromě secret? Nemohl jsem nic takového najít. Jde mi o nastavení pravidel pro webovou verzi, aby se to nemuselo pořád deployovat, jinak budu asi řešit uploadem souboru.

Nefunguje příklad na knihovnu click

Ahoj, čím by to mohlo být? Stará verze pythonu?

Jedná se o zkopírovaný příklad z eduxu/http://click.pocoo.org/5/

(env)user@komp:~/Desktop/github-robot$ pip install click
Requirement already satisfied (use --upgrade to upgrade): click in ./env/lib/python3.4/site-packages
Cleaning up...

(env)user@komp:~/Desktop/github-robot$ python3 click.py --help
Traceback (most recent call last):
  File "click.py", line 1, in <module>
    import click
  File "/home/user/Desktop/github-robot/click.py", line 3, in <module>
    @click.command()
AttributeError: 'module' object has no attribute 'command'

(env)user@komp:~/Desktop/github-robot$ python3 click.py --count=3
Traceback (most recent call last):
  File "click.py", line 1, in <module>
    import click
  File "/home/user/Desktop/github-robot/click.py", line 3, in <module>
    @click.command()
AttributeError: 'module' object has no attribute 'command'

Náležitosti ohledně semestrálky

  • jaké budou termíny? budeme to nějak fázovat?
  • jak ji budeme hodnotit (vzdáleně, se studentem)?
  • podle jakých kritérií rozdělíme 50 bodů?

V předmětu MI-RUB (Ruby) minulý rok:

  • termín na zvolení zadání cca 10. týden
  • v průběhu zkouškového období vypsány zápočtové termíny, kde se odevzdávalo cvičícímu (předem se zaslal odkaz na repo)
  • hodnotící kritéria neznám, možná poradí @jnv, @petrpulc, @deric nebo @flexik

Ukol na testovani

Co si myslite pod pozadavkem "Musí být použit nativní způsob pytest testů (pytest umí spouštět i testy pro unittest apod.)"?

Could not find or load the Qt platform plugin "xcb"

Když nainstaluju PyQt5 do virtuenvu pomocí wheelu, ale na systému už nějaké (jiné) Qt mám, dostávám:

This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Reinstalling the application may fix this problem.
Neúspěšně ukončen (SIGABRT) (core dumped [obraz paměti uložen])

Vyřešit to jde pomocí:

QT_QPA_PLATFORM_PLUGIN_PATH=__venv__/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/ python ...

Je dobré to dát do materiálů o Qt, když se to bude dít i studentům.

PyQt5 resources

Ahoj, narazil jsem pri delani ukolu na to, ze kdyz chci v kodu pouzivat obrazky / ui soubory, python je hleda relativne k adresari, ze ktereho ho pustim. Napr.

python -m maze  # ok
cd ~
python -m maze  # nenajde maze/grass.svg atd.

Vyresil jsem to pomoci resource systemu (http://pyqt.sourceforge.net/Docs/PyQt5/resources.html). V materialech k tomu ale nic neni. Je to dobry zpusob / dela se to jeste nejak jinak?
Diky

Betamax neukládá cassette pro druhý požadavek ze stejné session

Tématicky je tenhle problém už starší, ale řeším ho teď kvůli semestrálce.

Nevím jestli dělám někde chybu já, nebo to je takhle by design, ale když si udělám fixture z objektu, který má v sobě betamax_session a tu použije dvakrát, tak se při druhém volání neuloží nic do kazety.

Usecase je ten, že se potřebuju autentifikovat přes OAuth, takže mám objekt (dostupný jako fixture), ten v inicializaci conftest.py pošle request na autentifikaci (tohle se zapíše do kazety) a potom bych očekával, že ho budu moct dál používat v testu. Jenže když ho v testu použiju na volání dalšího requestu, tak se sice vytvoří kazeta, ale je prázdná.¨

Lépe to asi popsat příkladem, takže tady je minimum (non)working code:
(odkaz na repo: https://github.com/melkamar/betamax-test )

git clone https://github.com/melkamar/betamax-test
cd betamax-test
python -m py.test
  • po testech bych čekal, že v tests/fixtures/cassettes budou dva soubory a oba budou mít nějaká data.

... přijde mi, že se to občas chová náhodně, protože aniž bych něco měnil, správně se mi nahrály kazety. Nedovedu si ale vysvětlit proč.

Prosím o nějakou radu :)

HW2 - Twitter Wall

Měla by aplikace dotahovat data z API periodicky v intervalu nebo si jen 1x zažádat o data (přístupem na URL).

Spracovanie entít

Možno sa to spomínalo na cviku a už som zabudol, ale čo presne si mám predstaviť pod spracovaním entít pri tom webovom rozhraní twitterwallu?

Spouštění package jako skriptu a nastavení autentifikace

Jak má správně probíhat spouštění package (nainstalované přes pip) jako skriptu? Doteď to bylo:

  1. git clone repo
  2. ručně editovat auth config
  3. spustit skript

Když si ale package nainstaluju pomocí pip, tak se mi tyhle auth soubory vybalí kdovíkam a nepřijde mi moc user friendly upravovat je někde v site-packages.

Uživatel může sice parametrem říct, kde se soubor nachází, ale to by ho musel nejdřív nějak získat. Jak na to?

Format auth.cfg

Jaky ma mit format soubor s auth.cfg?

Asi chcete testovat trochu automaticky a mit sjednoceny format s API keys by zrejme pomohlo.

Navrhuji INI format parsovatelny configparser:

[github.com]
key = my_secret_key

[twitter.com]
key = my_secret_key

naucse.python.cz

We're building a new site for Python-related course materials.

Currently, there's not much to see on the home page; we're focusing on the content. I'll be starting to teach a course based on the MI-PYT materials on Tuesday; the page for that is here: http://naucse.python.cz/2017/pyknihovny-brno/

It would be nice to move the tutorials to naucse, so they can be shared more widely and improved in context of other open courses in the Python community. They can be linked from here, in the same way that the file for pandas links to a Notebook deeper in the repo.
Exercises/projects, on the other hand, are currently out of naucse's scope; those should remain in this repo.

So, I'd like to:

  • Create a page on naucse for the 2016 run of MI-PYT
  • As I go through the materials, remove them from here and instead link to naucse

Do you think this is a good idea?
Things holding this back:

  • Edux integration
  • Maintaining history

Způsob zakládání repozitářů

Pokud by existovala vůle držet studenty na fakultním Gitlabu, exitoval (existuje, ale teď moc nefunguje) nástroj Gitman, který dokáže/dokázal vyrobit repozitáře pro celý předmět nebo skupinu podle KOSu, případně aktualizovat.

Bývala to moje semestrálka, ale když by se trochu oprášila, měla by bez problémů fungovat. Psáno v ruby (on rails).

Když by to někoho hodně nebavilo, navrhuji klidně vyrobit nějaký newebový skript.

V každém případě mi ale přijde jednodušší držet si studenty na jednom místě než stále obletovat mnoho serverů nebo neustále pullovat.

Nechci __main__.py v helpu

Je nějaká možnost zbavit se jednoduše __main__.py v helpu při volání python -m twitterwall? Entry point funguje standartně.

$ twitterwall
Usage: twitterwall [OPTIONS] COMMAND [ARGS]...
$ python -m twitterwall 
Usage: __main__.py [OPTIONS] COMMAND [ARGS]...

GitHub label bot: výchozí routa

Kdo dělá GitHub label bota, má v zadání:

Ve výchozí routě / by aplikace měla informovat uživatele, jak lze použít.

To je proto, abyste také použili šablony a HTML. Mít tam routu, která vrátí plain-text string není účelné.

Dopíšu do zadání, že by mělo jít o jednoduchou HTML stránku. Omlouvám se, že to měním až takhle, ale bylo to tak myšleno celou dobu, jen to nebylo dost dobře napsané.

Díky za pochopení.

cc @bogdanbodnar @pajcak @chmelva4 @pklejch @melkamar @pilatcen @tulinkry @bobirdmi @krestfi1 @nzt4567 @matejekm @slowbackspace @tomanj23 @Fanarim

problem s jsonem

Ahoj,

mám kód:

payload = '{"name": "bug", "color": "f29513"}'
print ("payload: "+payload)
r = session.post('https://api.github.com/repos/'+repo+'/issues/1/labels', data=payload)
pprint.pprint (r.json())

a github mi vrátí:

python3 robot.py 
payload: {"name": "bug", "color": "f29513"}
{'documentation_url': 'https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue',
 'message': 'Invalid request.\n'
            '\n'
            'For \'links/2/schema\', {"name"=>"bug", "color"=>"f29513"} is '
            'not an array.'}

Můžu poprosit o nakopnutí?
Díky

Flask: důvod pro `Flask(__name__)`

Myslím že jméno se tomu předává proto, aby si Flask našel ten modul, a podle toho hledal adresáře jako templates/. Je tudíž dobré tam vždycky dávat __name__.

Spusteni webove aplikace z prikazove radky

Chapu spravne, ze spusteni webove aplikace z prikazove radky je jenom kvuli spusteni na localhostu? Protoze na pythonanywhere je to k nicemu (automaticky nacte a spusti uvedeny soubor).

Moduly: Další věci

  • requirements.txt
  • wheel
  • if __name__ == '__main__'
  • __main__.py
  • Něco k verzím. Dev, alfa, beta. Že úkol by měl mít verzi 0.3 jako tag.
  • .pypirc na Windows
  • maintainer, maintainer_email

start aplikacie na pythonanywhere

Ahoj,
kde sa da prosim pythonanywhere nastavit, aby sa
aplikacia spustala z web commandom?
python3 twitter_wall.py web
....Error log:....
ImportError: No module named 'app'
....
na localhost-e funguje ok.
...
kostra kodu:


...
from flask import Flask
from flask import render_template
app = Flask(name)

@app.route('/')
@app.route('//')
def index(word=None):
....

@cli.command()
def web():
app.run(debug=True)

if name == 'main':
cli()


dakujem!

Actor se blbě testuje

Třída Actor z úkolu na asyncio se špatně testuje, protože automaticky naplánuje behavior, který pak běží i když chci otestovat třeba jen step. To je chyba návrhu; mělo by se to spouštět explicitně.

Na co je vubec urcen argument "setup_requires" v setup.py?

Kdyz zkusim naimportovat nejaky modul na zacatku setup.py a mam setup_requires=['my_module'],
setup_requires sice nainstaluje tento modul, ale az pri volani funkce setup(). Tedy v okamziku kdyz tento modul potrebuju, neni nainstalovan, a navic kod po funkci setup() je na nic (distribucni balicek uz existuje).

Tedy tento argument je uplne zbytecny?

Chyby v domácích úkolech maze (NumPy)

Projíždím zatím pushnuté maze a narážím na několik chyb, tak ať se jich vyvarujete:

  • ASCII symboly jsou case sensitive, používejte velké X a malé v, jak je to v zadání
  • atribut is_reachable má být bool pro celé bludiště, ne matice boolů pro jednotlivá políčka

Jak rozbalit README.md a další soubory při pip install?

Ve web módu zobrazuju v default routě obsah README.md. Tohle ale nefunguje při spouštění po pip install, jelikož README.md hledám u .py souborů. Obsahem (...)/site-packages/mypkg/ jsou jen .py soubory, ale já tam potřebuju i to readme, html, css atd. Jak zařídit, aby se při instalaci package rozbalilo všechno?

Našel jsem parametr pro setup.py: include_package_data, ale ani to nepomohlo, v site-package pořád nic není. (http://flask.pocoo.org/docs/0.11/patterns/distribute/)

Chyba spusteni balicku pri urcitem prikazu

Porad mam nasledujici chyby:
"python -m my_module web" pada s "SystemError: Parent module '' not loaded, cannot perform relative import". Pricemz, pri vymene web za console program funguje bez chyb.

"entry_point web" pada s "python can't open file '...\envs\mipytcvut\Scripts\githubbot': [Errno 2] No such file or directory". Avsak soubor "...\Scripts\githubbot" existuje. Entry pointem je githubbot. To same, ale s prikazem console opet kupodivu funguje.

Mam Windows.

Nejaka rada?

Nefungující pozvánky na spolupráci

Od uživatelů @tulinkry a @slowbackspace mi přišly pozvánky na spolupráci na repozitářích, al tyto pozvánky mi nefungují. Předpokládám, že je to proto, že repozitář přejmenovali z něčeho jako "MI-PYT16" na opravdové jméno projektu – a stihli to dřív než jsem kliknul na pozvánku.

Můžete prosím pozvánku poslat znovu?

import pandas as pd ...

Můžu jenom drzý a nepodstatný komentář k 6. lekci (protože jako celek je super, stejně jako celý kurz)?

...Automaticky pouštěné skripty musí být samozřejmě robustní, nástroje ke zkoumání dat ale bývají přívětivé k analytikovi, často na úkor robustnosti nebo „dobrých programátorských mravů”. Například některé operátory tak trochu „hadají”, co uživatel chtěl, a v tutoriálech se setkáte se zkratkami jako import pandas as pd či dokonce from numpy import *. ...

from numpy import * je samozřejmě "nemravný kód" a hádání operátorů leckdy přinese více škody než užitku, ale import pandas as pd; import numpy as np; from matplotlib import pyplot as plt jsou natolik obvyklé zkratky, že se vyskytují nejen v tutoriálech, ale i v kvalitních knihovnách na numpy/pandas/... založených (jako seaborn, xarray, ...). Naopak explicitní pandas.něco jsem viděl snad poprvé ve vašem tutoriálu. Řekl bych, že v tomto případě konvence je silnější než princip explicitnosti.

Ale je to samozřejmě otázka názoru :-)

Type hints? PEP 484

V kapitole o dokumentaci nebyl zmíněn PEP 484 - jaký na to máte názor? Je rozumný to používat, nebo se spíš přikláníte k definování typů v pydocs?

Jestli to chápu dobře, ta syntaxe má být backward compatible pro Python 3*, takže by to neměl být problém..?

tl;dr: tahle syntaxe ano/ne?

def greeting(name: str) -> str:
    return 'Hello ' + name

Vlastní téma prvního úkolu

Ahoj, jaké funkce budeme rozvíjet u aplikace z prvního úkolu? Konfig soubor, napojení na API a pokud jsem slyšel dobře, příště to bude Streaming API a webové rozhraní?

Přemýšlím, že bych využil projekt na kterém pracuju, tak pokud by to sedělo, ozval bych se na mail.

500 na python anywhere, ImportError: No module named 'robot.py'; 'robot' is not a package

Ahoj,

zde http://pilatcen.pythonanywhere.com/ dostavam 500, hledal jsem google, ale moc jsem z toho moudry nebyl. Cim to muze byt?

/var/www/pilatcen_pythonanywhere_com_wsgi.py

import sys
path = '/home/pilatcen/1.HW-MI-PYT/'
if path not in sys.path:
    sys.path.append(path)
from robot.py import app as application

Python anywhere error log:

ImportError: No module named 'robot.py'; 'robot' is not a package
2016-10-15 19:45:32,911 :Error running WSGI application
Traceback (most recent call last):
  File "/bin/user_wsgi_wrapper.py", line 154, in __call__
    app_iterator = self.app(environ, start_response)
  File "/bin/user_wsgi_wrapper.py", line 170, in import_error_application
    raise e
  File "/bin/user_wsgi_wrapper.py", line 154, in __call__
    app_iterator = self.app(environ, start_response)
  File "/bin/user_wsgi_wrapper.py", line 170, in import_error_application
    raise e
  File "/bin/user_wsgi_wrapper.py", line 154, in __call__
    app_iterator = self.app(environ, start_response)
  File "/bin/user_wsgi_wrapper.py", line 170, in import_error_application
    raise e
  File "/bin/user_wsgi_wrapper.py", line 154, in __call__
    app_iterator = self.app(environ, start_response)
  File "/bin/user_wsgi_wrapper.py", line 170, in import_error_application
    raise e
  File "/bin/user_wsgi_wrapper.py", line 179, in <module>
    application = load_wsgi_application()
  File "/bin/user_wsgi_wrapper.py", line 175, in load_wsgi_application
    return __import__(os.environ['WSGI_MODULE'], globals(), locals(), ['application']).application
  File "/var/www/pilatcen_pythonanywhere_com_wsgi.py", line 6, in <module>
    from robot.py import app as application
ImportError: No module named 'robot.py'; 'robot' is not a package

Cython OS X build

S použitím setup.py uvedeného v materiálech mám na OS X problém, že to při kompilaci ignoruje include_dirs, i když tam jsou uvedené na obou místech, a tím pádem to nenajde nic z numpy.

Snažil jsem se to nějak vyřešit a po nějaké době jsem dospěl k řešení, které mi funguje:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize
import numpy


setup(
    ext_modules = cythonize([Extension('maze', ['maze.pyx'], include_dirs = [numpy.get_include()])]),
    include_dirs=[numpy.get_include()]
)

Nevím, ale jestli to nemůže způsobit zase nějaké jiné problémy.

Click/Flask feedback

  • Twitter auth is needlessly complicated, and it requires giving your a telephone number to Twitter. I think it should come after Github API, as an example of auth problems, rather than people's first look at Web APIs.

  • The space in 'token ' for the Github authentication header is far too easy to overlook, there should be a note about it.

  • The click example explains just the minimum needed for the project. I'm not convinced that's a good introduction to the library. I've expanded it a bit in http://naucse.python.cz/2017/pyknihovny-brno/intro/click/ (we'll use that, so fixed)

Použití betamax cassette dvakrát v jednom testu failuje

Potřebuju v testu zavolat dvakrát tu samou betamax cassette, vypadá to takhle:

def test_fetch_issues(auth_session):
    response = auth_session.get(fetch_issues_url.format(repository, 'all'))
    issues = github_issues_bot.fetch_issues(repository, 'all', auth_session)
    (...)

Tohle mi neprochází, error který dostávám je:

E           betamax.exceptions.BetamaxError: A request was made that could not be handled.
E           
E           A request was made to https://api.github.com/repos/melkamar/mi-pyt-test-issues/issues?state=all that could not be found in test_process_issues.test_fetch_issues_label.
E           
E           The settings on the cassette are:
E           
E               - record_mode: none
E               - match_options {'uri', 'method'}.

Jenže když zakomentuju jakýkoliv z těch dvou řádků (ať první nebo druhý), tak to projde bez problémů. URI i metoda požadavku jsou stejné a jsou v souboru uložené, zkontroloval jsem to. Failuje to jenom když chci záznam použít dvakrát.

Když nastavím betamax, aby HTTP GET opravdu prováděl, tak to projde bez problémů.

Nevíte o nějakém nastavení, co by tohle spravilo?

GitHub issues bot: Testovací repozitář

Ahoj, kdo děláte GitHub issues bot, mohli byste mi prosím vždy říct, kde je nějaký repositář, kde můžu zakládat issues, abych vyzkoušel, že váš deploy funguje? Naivně jsme si myslel, že vašeho bota pustím do svého repozitáře, ale chodí mu pozvánka e-mailem a bot nemá přístup, dokud tam nezakliknete Accept invite. Když už tedy vyžaduji akci od vás, bude pro mě jednodušší, když mě pustíte do repozitáře, na kterém jste to třeba sami zkoušeli.

Díky a omlouvám se za zmatky.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.