Τη Δευτέρα, 25 Φεβρουαρίου 2019 - 12:38:43 π.μ. UTC+2, ο χρήστης 
vergos....@gmail.com έγραψε:
> Τη Κυριακή, 24 Φεβρουαρίου 2019 - 8:52:03 μ.μ. UTC+2, ο χρήστης DL Neil 
> έγραψε:
> > Vergos,
> > 
> > Please provide more information and show how you've debugged the code so 
> > far...
> > 
> > 
> > On 25/02/19 7:03 AM, vergos.niko...@gmail.com wrote:
> > > pymydb.execute( '''SELECT host, ref, location, useros, browser, visits, 
> > > hits, downloads, authuser FROM guests
> > >                                   WHERE pagesID = (SELECT ID FROM pages 
> > > WHERE url = %s) ORDER BY visits DESC''', page )
> > >   data = pymydb.fetchall()
> > >          for visit in visits:
> > >                visit = visit.strftime('%A %e %b,  %I:%M %p')
> > 
> > Is this the actual code? How do we get from the collection of 
> > tuples/dicts called "data", to an iterable called "visits"?
> > 
> > Also: %e should likely be %w or %d.
> > 
> > Which 'connector' are you using between MySQL and Python?
> > (may not be the same as the one I favor)
> > 
> > 
> > > 'visit' is being returned from database containing a MySQL datatime field 
> > > that i want to change to another format which is ('%A %e %b, %I:%M %p') 
> > > thats why i'm using that function. If not convert or comment out then 
> > > results are not appearing normally.
> > 
> > Where are these actual results? (might they help us to help you?)
> > What do you see, as the same row/col, when using the MySQL cmdLN shell 
> > or MySQL-Workbench (etc)?
> > 
> > Have you shown us what comes back as the first row's value for "visit"?
> > Please check its type() before the code processes it further - is it 
> > coming back as a Python date or time format, or is it a string?
> > Remember logging or even debug print()-s are your friend!
> > 
> > -- 
> > Regards =dn
> 
> The  'connector' that i'am using between MySQL and Python is 'bottle-pymysql'
> 
> In the following code:
> 
>       def coalesce( data ):
>               newdata = []
>               seen = {}
>               for host, ref, location, useros, browser, visits, hits, 
> downloads, authuser in data:
>                       # Here i have to decide how to group the rows together
>                       # I want an html row for every unique combination of 
> (host) and that hits should be summed together
>                       key = host
>                       if key not in seen:
>                               newdata.append( [ [host], [ref], location, 
> useros, browser, [visits], hits, [downloads], authuser ] )
>                               seen[key] = len( newdata ) - 1      # Save 
> index (for 'newdata') of this row
>                       else:       # This row is a duplicate row with a 
> different referrer & visit datetime & torrent download
>                               rowindex = seen[key]
>                               newdata[rowindex][0].append( host )
>                               newdata[rowindex][1].append( ref )
>                               newdata[rowindex][5].append( visits )
>                               newdata[rowindex][6] += hits
>                               newdata[rowindex][7].append( downloads )
>               return newdata
> 
> 
>       pymydb.execute( '''SELECT host, ref, location, useros, browser, visits, 
> hits, downloads, authuser FROM guests
>                                       WHERE pagesID = (SELECT ID FROM pages 
> WHERE url = %s) ORDER BY visits DESC''', page )
>       data = pymydb.fetchall()
> 
> 
>       newdata = coalesce( data )
>       for row in newdata:
>               (hosts, refs, location, useros, browser, visits, hits, 
> downloads, authuser) = row
> 
>               # start of table
>               pdata = pdata + '<tr>'
> 
>               pdata = pdata + '<td><center><font color=silver face=verdana 
> size=3> %s </td>' % hosts[0]
> 
>               pdata = pdata + '<td><center><select>'
>               for ref in refs:
>                       pdata = pdata + '<option> %s </option>' % ref
>               pdata = pdata + '</select></td>'
> 
>               for item in (location, useros, browser):
>                       pdata = pdata + '<td><center><font color=plum> %s 
> </td>' % item
> 
>               print( visits )
>               pdata = pdata + '<td><center><select>'
>               for visit in visits:
>                       print( visit)
>                       pdata = pdata + '<option> %s </option>' % visit
>               pdata = pdata + '</select></td>'
> 
> 
> if i try to print 'visits' filed before and during the loop the results is 
> multiple
> 
> [Mon Feb 25 00:23:55.165094 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165098 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165102 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165107 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165111 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165115 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165119 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165123 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165127 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165132 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> [Mon Feb 25 00:23:55.165136 2019] [wsgi:error] [pid 15158] [remote 
> 46.103.69.193:5068] visits
> 
> and actually all the variables that are being selected from the query are NOT 
> being interpolated to their corresponding values.
> 
> 
> if for example i try to print:
> 
> print( hosts, refs, location, useros, browser, visits, hits, downloads, 
> authuser )
> 
> and i check the error_log i get long results like:
> 
> 
> [Mon Feb 25 00:33:52.768914 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] [['host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 'host', 
> 'host', 'host', 'host'], ['ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 'ref', 
> 'ref', 'ref', 'ref', 'ref'
> [Mon Feb 25 00:33:52.769014 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769020 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769025 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769029 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769033 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769037 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769042 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769046 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769050 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769054 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769058 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769063 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769067 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> [Mon Feb 25 00:33:52.769071 2019] [wsgi:error] [pid 15545] [remote 
> 46.103.69.193:5109] visits
> 
> The exact same code works WITHOUT error if i use the 'pymysql' connector 
> instead of 'bottle-pymysql'
> 
> Is this a bug in the connector or somethng else?

after printing data and newdata i noticed that 'data' hold all values correctly 
while 'newdata' has the output i posted in my previous post.

Something gone wrong when calling coalesce funtion, and row dont have the 
unpcked values.

        newdata = coalesce( data )
        for row in newdata:
                (hosts, refs, location, useros, browser, visits, hits, 
downloads, authuser) = row

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to