Mirki, mam problem. Przebudowuje swoje testy aby były zgodne z Page Object Pattern i zalecanym wzorcem do niego.
Czyli oddzielnie klasy testów, oddzielnie klasy obiektów stron ze swoimi modelami.
Szkielet wzorca wygląda tak:
http://pastebin.com/EStbvafU
I to wszystko ładnie działa. Problem tylko taki, że pisząc metody w klasie Foo2 i dając:
self.driver.
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ok, nieaktualne. Poradziłem sobie ;-)
Wystarczył import odpowiedniej klasy z webdriver i w konstruktorze:
""":type : WebDriver"""
Jakby ktoś trafił i też potrzebował rozwiązania
  • Odpowiedz
@Ilythiiri: Jak chcesz się nauczyć a nie zrobić jakiś projekt na odwal się, to czytaj oficjalny tutorial. createuser to metoda Managera który odpowiada za tabelę uzytkowników (django ma wbudowany ORM). renderto_reponse ma argument, którym pozwala przekazywać zmienne do szablonu - jest to właśnie słownik: {}.
  • Odpowiedz
Jak chcesz się nauczyć a nie zrobić jakiś projekt na odwal się, to czytaj oficjalny tutorial.


@maciej-jantarski: Właśnie zacząłem, po tym jak jesteś już którąś osobą która powtarza to jak mantrę. I to serio jest zajebiście wyjaśnione, krok po kroku, z opisem technicznym jak to naprawdę działa a nie na automagicznych zasadach z tutoriali.

Dzięki wielkie za pomoc, przeczytam wszystko jeszcze raz po czym będę kontynuować swój projekt ( ͡
  • Odpowiedz
Czy mógłby mi ktoś krok po kroku wytłumaczyć to regular expression?
Generalnie jest tak:
import re

re.search(' ([A-Za-z]+)\.', name)

I
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

([A-Za-z]+).


@kujaw: masz tutaj: http://regexper.com/#(%5BA-Za-z%5D%2B).

I teraz - wiem, że [A-Za-z] to jest przedział liter, zmienna musi zaczynać się dowolną dużą literą z przedziału a-z, kolejna litera jest małą literą z tego samego przedziału. + to każdy kolejny znak po znakach z przedziaułu [ ]. \ olewa znaki, które nie są liczbami, ani literami. A ostatnia . kropka to po prostu kropka.


Ty opisujesz mniej więcej [coś takiego](http://regexper.com/#(%5BA-Z%5D%2B%5Ba-z%5D%2B)%5C.)
  • Odpowiedz
Cześć, zacząłem się coś uczyć #python , i po 30 minutach stwierdzam że python nie wybacza w ogóle żadnego błędu.

Kiedyś jak bawiłem się troche w PAWN (który jest podobny do C z tego co wiem) to mogłem sobie robić tabów i enterów w kodzie ile chciałem, a później i tak się bez problemu kompilowało, za to w python zrobie jeden enter za dużo, lub dam TAB tam gdzie nie
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Najkon: co prawda dobry IDE załatwia większość roboty z formatowaniem kodu za ciebie, ale i tak dobrze jest sobie wpoić zasady poprzez praktykę.
Spójrz na ten kod:

friends = ['john', 'pat', 'gary', 'michael']
for i, name in enumerate(friends):
print "iteration {iteration} is
  • Odpowiedz
hej mirki bo mam taką funkcje:

def run(self):
for url in self.url:
for i, proxy in enumerate(self.proxy):
jobs = [spawn(self.go, url.replace("\n",""), proxy.replace("\n", ''), i)]
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

przerobiam skrypt #python i potrzebuję pomocy przy banalnym pytaniu jak wyświetlić w jednej linijce obecne dwie:
print(response.code)
print(response.effective_url)
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Męczę się z odpaleniem połączenia MySQL w #django. Korzystam z #python'a 3.4, zainstalowane mam

mysql-connector-python==1.1.6


a także całą resztę typu apache/mysql. Niestety kiedy próbuje odpalić projekt dostaję następujący
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pisze skrypt w #python, chce mieć do niego prosty plik konfiguracyjny. Jestem leniwy więc wolałbym, żeby ten plik konfiguracyjny był fragmentem kodu pythonowego inicjalizującym zmienne. Chciałbym, żeby działało to mniejwięcej tak:

config.py:
one = True
two = [1, 2, 3]
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@LOLWTF: generalnie masa softwareu ma swój format configów, więc często tak czy inaczej trzeba się uczyć. U mnie w najprostszym przypadku config będzie miał format:

param1 = value1
param2 = value2
  • Odpowiedz
Mirki z tagów #naukaprogramowania #python mam problem i liczę na waszą pomoc :)

Jak znaleść datę w pliku? Już wyjaśniam o co chodzi. Mam plik costam.txt który zawiera mase różnych słów podzielonych na kolumny i na końcu dane. Chcę zmienić jego nazwę na jedno z tych słów w pliku,ale nie jakieś losowe tylko te jedno konkretne które występuje po dacie(zapisana w formacie dd-mm-rr). Więc chcę znaleść tę datę.
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dlaczego to nie chce działać?

va = WebLink.objects.values_list('webpage').filter(alias = address_alias)
return HttpResponseRedirect(va)

W adresie pojawia się coś w rodzaju

(u'
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Matt23: Jeśli dochodzą kwadratowe nawiasy, to va jest listą tupli, va[0] jest pierwszym elementem listy, czyli tuplem a va[0][0] jest pierwszym elementem tupla, czyli stringiem. Spróbuj z return HttpResponseRedirect(va[0][0])
  • Odpowiedz
Witam Mirki i Mireczki!
Krótkie pytanie - jeśli w Django, w template chcę umieścić tylko 3 elementy z długiej listy z bazy danych (news) to jak to zrobić ?

Poniższy kod wyświetla mi całość:

{% for x in news %}
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jaka jest obecnie najlepsza, najbardziej aktualna książka do nauki pythona dla nie-początkującego w programowaniu ? ( zależy mi na 3, może być kompletnie pomijająca wersje 2.x ). Wiem że własne projekty itp. ale też czasem lubię poczytać. #programowanie #python
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Gil-Galad: jeśli masz fajne tutoriale pod 2.7, to rób. Przestawienie się na 3 nie będzie problemem.

Ponoć 90% programistów pythona dalej leci na 2.7 bo do niego stworzono najwięcej bibliotek i tutoriali. Wersja 3.4 na tyle się różni od 2.7, że jeszcze musi swoje poczekać.


@motorade: w 2 jest napisane bardzo dużo kodu - teraz przez długie lata trzeba będzie to utrzymywać.
Sprawa z
  • Odpowiedz
last = [o for o in Exam.objects.orderby('date') if not o.ispast]


@marionez: świetny pomysł, iterować queryseta. Z każdym wykonaniem pętli wykonywać zapytanie do bazy danych.

chyba nie od lower than, bo nie ma
  • Odpowiedz