What about menu.py?

Can we see that?

-Jim

On Friday, August 10, 2018 at 10:00:43 AM UTC-5, BlueShadow wrote:
>
> Hi thanks for all the answers.
> Just before I got your answers I found this article: 
> https://www.team-mediaportal.com/wiki/display/MediaPortal1/Repair+SQLite+Database
>  
> which i followed to check the integrety of my database. and it says *OK*
> @stifan: it is the last server backup. the last manual backup i did was in 
> 2016. (and I changed quite a bit since that time.
> my db.py looks like this:
> # -*- coding: utf-8 -*-
>
> #########################################################################
> ## This scaffolding model makes your app work on Google App Engine too
> ## File is released under public domain and you can use without limitations
> #########################################################################
>
> ## if SSL/HTTPS is properly configured and you want all HTTP requests to
> ## be redirected to HTTPS, uncomment the line below:
> # request.requires_https()
> import datetime
> import os
> from plugin_multiselect_widget import (
>     hmultiselect_widget, vmultiselect_widget,
>     rhmultiselect_widget, rvmultiselect_widget,
> )
>
> #if not request.env.web2py_runtime_gae:
> ## if NOT running on Google App Engine use SQLite or other DB
> db = DAL('sqlite://storage.sqlite', migrate=False,lazy_tables=True)
> try:
>     db.executesql("PRAGMA journal_mode=WAL;")
> except:
>     pass
>
> response.generic_patterns = ['*'] if request.is_local else []
>
>
>
>        
>             
> auth = Auth(db, hmac_key="I am not sharing the key")
> #crud, service, plugins = Crud(db), Service(), PluginManager()
>
> ## append auth tables
> auth.settings.extra_fields['auth_user']= [
>   Field('username', unique=True,requires=IS_NOT_IN_DB(db, 
> 'auth_user.username')),
>   Field('address'),
>   Field('country','reference Land'),
>   Field('city'),
>   Field('zip'),
>   Field('favouritemovie'),
>   Field('birthday','date',requires=IS_DATE()),
>   Field('sex','reference Sex'),
>   Field('phone'),
>   Field('registration_date','datetime',default=datetime.datetime.now(),
> writable=False,readable=False),
>   Field('newsletter','reference Newsletter')
>   ]
> auth.settings.password_min_length = 5
> auth.settings.registration_requires_verification = True
>
> ## create all tables needed by auth if not custom tables
>
> db.define_table('Sex',
>             Field('Name'),
>             format = '%(Name)s'
>             )
>
> db.define_table('Land',
>             Field('Name'),
>             format = '%(Name)s'
>             )   
> """f = open('countries.txt', 'r')                #for some weird reason 
> this does not work.
> countries=f.readlines()
> for c in countries:
>     db.Land.update_or_insert(Name=c)    
>     
> f.close()"""
> db.define_table('Newsletter',
>             Field('Name'),
>             format = '%(Name)s'
>             )
> auth.define_tables(username=True, migrate=False)
>
> ## configure email
> mail=auth.settings.mailer
> mail.settings.server = 'logging' or 'smtp.gmail.com:587'
> mail.settings.sender = 'y...@gmail.com <javascript:>'
> mail.settings.login = 'username:password'
>
> ## configure auth policy
> auth.settings.registration_requires_verification = False
> auth.settings.registration_requires_approval = False
> auth.settings.reset_password_requires_verification = True
>
> ## if you need to use OpenID, Facebook, MySpace, Twitter, Linkedin, etc.
> ## register with janrain.com, write your domain:api_key in 
> private/janrain.key
> from gluon.contrib.login_methods.rpx_account import use_janrain
> use_janrain(auth,filename='private/janrain.key')
>
>
> db.define_table('myerror',
>              Field('Time','datetime',default=datetime.datetime.now()),
>              Field('code','integer'),
>              Field('request_URL'),
>              Field('client'),
>              Field('useragent'),
>              )
>
>              
> db.define_table('Sort',
>             Field('Name'),
>             format = '%(Name)s'
>             )
> db.Sort.Name.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB(db, 'Sort.Name')]
>
>
> db.define_table('Genre',
>             Field('Name'),
>             format = '%(Name)s'
>             )
> db.Genre.Name.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB(db, 'Genre.Name')]
>
> db.define_table('Category',
>             Field('Name'),
>             format = '%(Name)s'
>             )
> db.Category.Name.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB(db, 
> 'Category.Name')]
>
>
> db.Land.Name.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(db,'Land.Name')]
>
>
>
> db.define_table('Quelle',
>     Field('Name',length=512),
>     Field('Copyrightline',length=512),
>     Field('URL',length=512),
>     Field('Nutzungsbedingungen','text')
>     )
>     
>    
> db.define_table('Images',
>     Field('Bildunterschrift',length=1024),
>     Field('Image','upload',uploadfolder=os.path.join(request.folder,
> 'uploads/')),
>     Field('thumb','upload',writable=False,readable=False,uploadfolder=os.
> path.join(request.folder,'uploads/')),
>     Field('Quelle',db.Quelle, requires=IS_IN_DB(db,'Quelle.id',
> 'Quelle.Name')),
>     Field('Submitted','datetime',default=datetime.datetime.now(),writable=
> False,readable=False,requires=[IS_DATE()]),
>     Field('Verfallsdatum','datetime',writable=False,readable=False),
>     format = '%(Bildunterschrift)s' # <<< important
>     )
>
> db.define_table('Regisseur',
>     Field('Name',unique=True),
>     Field('Image','reference Images', requires=IS_EMPTY_OR(IS_IN_DB(db, db
> .Images.id,'Images.Bildunterschrift'), null=None)),
>     format = '%(Name)s' # <<< important
>     )
> db.Regisseur.Name.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(db,
> 'Regisseur.Name')]
>
> db.define_table('Schauspieler',
>     Field('Name',unique=True),
>     Field('Image','reference Images', requires=IS_EMPTY_OR(IS_IN_DB(db, db
> .Images.id,'Images.Bildunterschrift'), null=None)),
>     format = '%(Name)s' # <<< important
>     )
> db.Schauspieler.Name.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(db,
> 'Schauspieler.Name')]
> db.define_table('Tempmovie',
>     Field('Title',length=512),
>     Field('OriginalTitel',length=512),
>     Field('Category','list:reference Category'),
>     Field('Genre','list:reference Genre'),
>     Field('Regisseur',db.Regisseur),
>     Field('weitereRegisseure','list:reference Regisseur'),
>     Field('Hauptrollen','list:reference Schauspieler'),
>     Field('KinostartDE','date'),
>     Field('KinostartOriginal','date'),
>     Field('Ursprungsland','list:reference Land'),
>     Field('Filmlengthmin','integer'),
>     Field('Content','text'),
>     Field('Views','integer',default=0),
>     Field('Trailer','text'),
>     format = '%(Title)s' # <<< important
>     )
>
> db.define_table('Movie',
>     Field('Title',length=512),
>     Field('ShortTitle',length=32),
>     Field('OriginalTitel',length=512),
>     Field('Category','list:reference Category'),
>     Field('Genre','list:reference Genre'),
>     Field('Regisseur',db.Regisseur),
>     Field('weitereRegisseure','list:reference Regisseur'),
>     Field('Hauptrollen','list:reference Schauspieler'),
>     Field('KinostartDE','date'),
>     Field('KinostartOriginal','date'),
>     Field('Ursprungsland','list:reference Land'),
>     Field('Filmlengthmin','integer'),
>     Field('Content','text'),
>     Field('Views','integer',default=0),
>     Field('NotComplete','boolean'),
>     Field('NumberofUserVotes','integer'),
>     Field('SumofUserVotes','integer'),
>     Field('Trailer','text'),
>     Field('PosterImagevertical','reference Images', requires=IS_EMPTY_OR(
> IS_IN_DB(db, db.Images.id,'Images.Bildunterschrift'), null=None)),
>     Field('TitelImage169','reference Images', requires=IS_EMPTY_OR(
> IS_IN_DB(db, db.Images.id,'Images.Bildunterschrift'), null=None)),
>     format = '%(ShortTitle)s' # <<< important
>     )
> db.Movie.Title.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(db,'Movie.Title')]
> db.Movie.ShortTitle.requires=[IS_NOT_EMPTY()]
> db.Movie.OriginalTitel.requires=[IS_NOT_EMPTY()]
> db.Movie.KinostartDE.requires=IS_EMPTY_OR(IS_DATE())
> db.Movie.KinostartOriginal.requires=requires=IS_EMPTY_OR(IS_DATE())
> db.Movie.Regisseur.requires=IS_IN_DB(db,'Regisseur.id','Regisseur.Name')
> #db.Movie.weitereRegisseure.requires = 
> IS_EMPTY_OR(IS_IN_DB(db,'Regisseur.id','%(Name)s',multiple=True))
> #db.Movie.weitereRegisseure.widget = hmultiselect_widget
> db.Movie.weitereRegisseure.widget = lambda field,value: SQLFORM.widgets.
> multiple.widget(field,value,size=10)
> #db.Movie.Hauptrollen.requires = 
> IS_EMPTY_OR(IS_IN_DB(db,'Schauspieler.id','%(Name)s',multiple=True))
> #db.Movie.Hauptrollen.widget = hmultiselect_widget
> db.Movie.Hauptrollen.widget = lambda field,value: SQLFORM.widgets.multiple
> .widget(field,value,size=10)
>
>
> #db.Movie.Hauptrollen.requires=IS_EMPTY_OR(IS_IN_DB(db,'Schauspieler.id','Schauspieler.Name',multiple=True))
> #db.Movie.Hauptrollen.widget = hmultiselect_widget
> db.Movie.Genre.requires=IS_IN_DB(db,'Genre.id','Genre.Name', multiple=(1, 
> 1000))
>
> db.define_table("image_references",
>     Field("image_id", "reference Images",writable=False,readable=False),
>     Field("Movie", "reference Movie",requires=IS_EMPTY_OR(IS_IN_DB(db,
> 'Movie.id','Movie.ShortTitle')))
>     )    
>
> db.define_table('Newstype',
>     Field('Name', length=64),
>     format = '%(Name)s' # <<< important
>     )
>     
> db.define_table('Article',
>     Field('Title',length=512),
>     Field('Movie',db.Movie, requires=IS_IN_DB(db,'Movie.id','Movie.Title') 
> if not request.vars.News else None),
>     Field('Content','text'),
>     Field('News','boolean'),
>     Field('TypeofNews','reference Newstype', requires=IS_EMPTY_OR(IS_IN_DB
> (db,'Newstype.id','Newstype.Name'))),
>     Field('Medienname',length=256),
>     Field('Sources',length=512),
>     Field('Sourceslinktext',length=256),
>     Field('Submitted','datetime',default=datetime.datetime.now()),
>     Field('Views','integer',default=0),
>     Field('Author','reference auth_user',default=auth.user_id),
>     Field('TopImage','reference Images', requires=IS_EMPTY_OR(IS_IN_DB(db, 
> db.Images.id ,'Images.Bildunterschrift'), null=None)),
>     Field('BottomlImage','reference Images', requires=IS_EMPTY_OR(IS_IN_DB
> (db, db.Images.id,'Images.Bildunterschrift'), null=None)),
>     Field('BottomrImage','reference Images', requires=IS_EMPTY_OR(IS_IN_DB
> (db, db.Images.id,'Images.Bildunterschrift'), null=None)),
>     Field('InTextImage','reference Images', requires=IS_EMPTY_OR(IS_IN_DB(
> db, db.Images.id,'Images.Bildunterschrift'), null=None)),
>     Field("slug", compute=lambda row: IS_SLUG()(row.Title)[0]),
>     )
> db.Article.Title.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(db,'Article.Title'
> )]
> db.Article.Content.requires=IS_NOT_EMPTY()
> db.Article.Sources.requires=IS_NOT_EMPTY()
> db.Article.Submitted.requires=[IS_DATE()]
>
> db.define_table('Review',
>     Field('Movie',db.Movie),
>     Field('Content','text'),
>     Field('Rating','double'),
>     Field('Submitted','datetime',default=datetime.datetime.now()),
>     Field('Views','integer',default=0),
>     Field('Author','reference auth_user',default=auth.user_id)
>     )
> db.Review.Movie.requires=IS_IN_DB(db,'Movie.id','Movie.Title')
> db.Review.Content.requires=IS_NOT_EMPTY()
> db.Review.Rating.requires=IS_NOT_EMPTY()
> db.Review.Submitted.requires=[IS_DATE()]
>
> db.define_table('Manual',
>     Field('Title',length=64,requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(db,
> 'Manual.Title')]),
>     Field('Inhalt','text',requires=[IS_NOT_EMPTY()]),
>     Field('Submitted','datetime',default=datetime.datetime.now()),
>     Field('Author','reference auth_user',default=auth.user_id)
>     )
>
>
> def advanced_editor(field, value):
>     return TEXTAREA(_id = str(field).replace('.','_'), _name=field.name, 
> _class='text ckeditor', value=value, _cols=80, _rows=10)
>
>
>
>
>
> I removed a bunch of comments to make it more compact. (the key was 
> removed aswell)
> thanks for your help
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to