示例#1
0
    def __init__(self, s: Series):
        self.columns = [k for k in dict(s)]
        self.id = int(s['id'])
        self.net: Network = Network(s['net'])
        self.batch = int(s['batch'])
        self.partition: DatasetPartition = DatasetPartition(str(
            s['partition']))

        self.opt: Optimizer = Optimizer(s['opt'])
        self.dropout = float(s['dropout'])
        self.format: DatasetFormat = DatasetFormat(s['format'])

        env = Env.train
        self.train_start: datetime = self.parse_data(
            s[f'{env.name}_{TestProgress.start.name}'], self.date_fmt)
        self.train_end: datetime = self.parse_data(
            s[f'{env.name}_{TestProgress.start.name}'], self.date_fmt)
        self.train_state = State(s[f'{env.name}_state'])

        env = Env.test
        self.test_start: datetime = self.parse_data(
            s[f'{env.name}_{TestProgress.start.name}'], self.date_fmt)
        self.test_end: datetime = self.parse_data(
            s[f'{env.name}_{TestProgress.start.name}'], self.date_fmt)
        self.test_state = State(s[f'{env.name}_state'])
示例#2
0
def word_th(bot, update):
    db = AnkiGenDB()
    try:
        state = State(db.get_state(update.message.chat_id))
    except ValueError as e:
        print(traceback.format_exc())
        if db.get_state(update.message.chat_id) is None:
            db.insert_new_user(id_chat=update.message.chat_id)
        state = State(db.get_state(update.message.chat_id))

    if state == State.normal:
        concept = update.message.text.strip()
        if not concept.isalpha():
            bot.sendMessage(update.message.chat_id, text="Write only one word")
        else:
            lang = Languages(db.get_language(update.message.chat_id))
            defs = AnkiAutomatic(concept).retrieve_defs(lang.name)
            if defs is None:
                bot.sendMessage(update.message.chat_id,
                                text='No definitions found')
                return
            if_add_phonetics = db.get_if_add_phonetics(update.message.chat_id)
            for definition in defs:
                keyboard = [[
                    InlineKeyboardButton("Add to anki", callback_data=concept),
                    InlineKeyboardButton("Cancel", callback_data='-1')
                ]]
                reply_markup = InlineKeyboardMarkup(keyboard)
                update.message.reply_text(definition,
                                          reply_markup=reply_markup)
    elif state == State.set_user:
        try:
            db.update_username(update.message.chat_id, update.message.text)
        except:
            bot.sendMessage(update.message.chat_id,
                            text="Sorry, something went wrong")
            return
        bot.sendMessage(update.message.chat_id,
                        text="Success! Username updated.")
    elif state == State.set_pass:
        try:
            db.update_password(update.message.chat_id, update.message.text)
        except:
            bot.sendMessage(update.message.chat_id,
                            text="Sorry, something went wrong")
            return
        bot.sendMessage(update.message.chat_id,
                        text="Success! Password updated.")
    elif state == State.set_deck:
        try:
            db.update_deck(update.message.chat_id, update.message.text)
        except:
            bot.sendMessage(update.message.chat_id,
                            text="Sorry, something went wrong")
            return
        bot.sendMessage(update.message.chat_id, text="Success! Deck updated.")
    else:
        print('not a valid state')
示例#3
0
文件: forms.py 项目: ramihage/fyyur
class VenueForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField('state',
                        validators=[DataRequired()],
                        choices=State.choices())
    address = StringField('address', validators=[DataRequired()])
    phone = StringField('phone', validators=[check_area_code])
    image_link = StringField('image_link')
    genres = SelectMultipleField('genres',
                                 validators=[DataRequired()],
                                 choices=Genre.choices())
    facebook_link = StringField('facebook_link',
                                validators=[Optional(), URL()])
    website_link = StringField('website_link', validators=[Optional(), URL()])

    seeking_talent = BooleanField('seeking_talent')

    seeking_description = StringField('seeking_description')

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False
        if not is_valid_phone(self.phone.data):
            self.phone.errors.append('Invalid phone number.')
            return False
        if not set(self.genres.data).issubset(dict(Genre.choices()).keys()):
            self.genres.errors.append('Invalid genre.')
            return False
        if self.state.data not in dict(State.choices()).keys():
            self.state.errors.append('Invalid state.')
            return False
        return True
示例#4
0
def parse(f):
    dic = {}
    content = read(f)
    transitions = content.split("\n\n")

    print(transitions[0])
    transitions = transitions[1:]

    for t in transitions:
        try:
            src, dst = t.split("\n")
        except:
            if len(t.split("\n")) == 1:
                break
            src, dst, _ = t.split("\n")

        state, symbol = src.split(",")
        state_key = State.by_rep(state)
        symbol_key = Symbol.by_rep(symbol)

        if state_key not in dic:
            dic[state_key] = {}
        dic[state_key].update({symbol_key: make_tuple(dst)})

    return dic
class ArtistForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField(
        'state',
        validators=[DataRequired(),
                    AnyOf([choice.value for choice in State])],
        choices=State.state_choices())
    ## TODO implement validation logic for state
    phone = StringField('phone',
                        validators=[Optional(),
                                    Regexp(r'^[0-9\-\+]+$')])
    website = StringField('facebook_link', validators=[URL(), Optional()])
    image_link = StringField('image_link', validators=[URL(), Optional()])
    facebook_link = StringField(
        ## TODO implement enum restriction
        'facebook_link',
        validators=[URL(), Optional()])
    genres = SelectMultipleField(
        ## TODO implement enum restriction
        'genres',
        validators=[DataRequired(), genre_validator],
        choices=Genre.g_choices())
    seeking_venue = SelectField('seeking_venue',
                                validators=[DataRequired()],
                                choices=[('Yes', 'Yes'), ('No', 'No')])
    seeking_description = StringField('seeking_description',
                                      validators=[Optional()])
示例#6
0
class ArtistForm(FlaskForm):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField(
        'state',
        validators=[DataRequired(),
                    AnyOf([item.value for item in State])],
        choices=State.items())
    phone = StringField('phone',
                        validators=[
                            Regexp(r'^[0-9\-\+]+$',
                                   0,
                                   message='The phone must be valid')
                        ])
    genres = SelectMultipleField('genres',
                                 validators=[
                                     DataRequired(),
                                     validate_genres(
                                         [item.value for item in Genre])
                                 ],
                                 choices=Genre.items())
    image_link = StringField('image_link', validators=[URL()])
    facebook_link = StringField('facebook_link', validators=[URL()])
    website = StringField('website', validators=[URL()])
    seeking_venue = BooleanField('seeking_venue', )
    seeking_description = TextAreaField('seeking_description',
                                        validators=[Length(min=10, max=500)])
示例#7
0
class ArtistForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField('state',
                        validators=[DataRequired()],
                        choices=State.getStates())
    phone = StringField(
        # TODO implement validation logic for state
        'phone')
    image_link = StringField('image_link')
    genres = SelectMultipleField(
        # TODO implement enum restriction
        'genres',
        validators=[DataRequired()],
        choices=Genre.getGenres())
    facebook_link = StringField(
        # TODO implement enum restriction
        'facebook_link',
        validators=[URL()])
    website = StringField('website', validators=[URL()])
    image_link = StringField('image_link', validators=[URL()])
    seeking_venue = SelectField('seeking_venue',
                                validators=[DataRequired()],
                                choices=[('Yes', 'Yes'), ('No', 'No')])
    seeking_description = TextAreaField('seeking_description')
示例#8
0
class ArtistForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField('state',
                        validators=[DataRequired()],
                        choices=State.choices())
    phone = StringField(
        # TODO implement validation logic for state
        'phone')
    image_link = StringField('image_link')
    genres = SelectMultipleField('genres',
                                 validators=[DataRequired()],
                                 choices=Genre.choices())
    facebook_link = StringField('facebook_link', validators=[URL()])

    website_link = StringField('website_link', validators=[URL()])

    seeking_venue = BooleanField('seeking_venue')

    seeking_description = StringField('seeking_description')

    def validate(self):
        rv = FlaskForm.validate(self)
        if not rv:
            return False
        if not is_valid_phone(self.phone.data):
            self.phone.errors.append('Invalid phone.')
            return False
        if not set(self.genres.data).issubset(dict(Genre.choices()).keys()):
            self.genres.errors.append('Invalid genres.')
            return False
        if self.state.data not in dict(State.choices()).keys():
            self.state.errors.append('Invalid state.')
            return False
        return true
示例#9
0
文件: forms.py 项目: irvnet/FSND
class VenueForm(Form):
    def validate(self):
        """Define a custom validate method in your Form:"""
        rv = Form.validate(self)
        if not rv:
            return False
        if not is_valid_phone(self.phone.data):
            self.phone.errors.append(':: Invalid phone number:')
            return False
        if not set(self.genres.data).issubset(dict(Genre.choices()).keys()):
            self.genres.errors.append(':: Invalid genres.')
            return False
        if self.state.data not in dict(State.choices()).keys():
            self.state.errors.append(':: Invalid state.')
            return False
        # if pass validation
        return True

    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField('state',
                        validators=[DataRequired()],
                        choices=State.choices())
    address = StringField('address', validators=[DataRequired()])

    phone = StringField('phone')

    image_link = StringField('image_link')
    genres = SelectMultipleField('genres',
                                 validators=[DataRequired()],
                                 choices=Genre.choices())
    facebook_link = StringField('facebook_link', validators=[URL()])
    website_link = StringField('website_link')
    seeking_talent = BooleanField('seeking_talent')
    seeking_description = StringField('seeking_description')
示例#10
0
class ArtistForm(FlaskForm):
    name = StringField('name', validators=[DataRequired(), Length(-1, 120)])
    city = StringField('city', validators=[DataRequired(), Length(-1, 120)])
    state = SelectField(
        'state',
        validators=[DataRequired(),
                    AnyOf([choice.value for choice in State])],
        choices=State.choices())
    phone = StringField(
        # TODO implement validation logic for state
        'phone')
    image_link = StringField('image_link')
    genres = SelectMultipleField(
        # TODO implement enum restriction
        'genres',
        validators=[DataRequired(), custom_validator],
        choices=Genre.choices())
    facebook_link = StringField(
        # TODO implement enum restriction
        'facebook_link',
        validators=[URL()])
    seeking_venue = BooleanField(
        # TODO implement enum restriction
        'seeking_venue')
    seeking_description = StringField(
        # TODO implement enum restriction
        'seeking_description')
示例#11
0
class ArtistForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField(
        'state',
        validators=[DataRequired(),
                    AnyOf([choice.value for choice in State])],
        choices=State.choices())
    phone = StringField(
        # DONE implement validation logic for state
        'phone',
        validators=[Length(-1, 10)])
    image_link = StringField('image_link',
                             validators=[Length(-1, 500),
                                         URL(),
                                         Optional()])
    genres = SelectMultipleField(
        # TODO implement enum restriction
        'genres',
        validators=[
            DataRequired(),
            anyof_multiple_field([choice.value for choice in Genre])
        ],
        choices=Genre.choices())
    facebook_link = StringField(
        # TODO implement enum restriction
        'facebook_link',
        validators=[Length(-1, 500), URL(), Optional()])
    website_link = StringField('website_link',
                               validators=[Length(-1, 500),
                                           URL(),
                                           Optional()])
    seeking_description = StringField('seeking_description',
                                      validators=[Optional()])
示例#12
0
def tags(update, context):
    db = AnkiGenDB()
    state = State(db.get_state(update.message.chat_id))
    if state in dict_state_to_lang_tags:
        db.update_tags(update.message.chat_id,
                       tags="",
                       lang=dict_state_to_lang_tags[state])
        update.message.reply_text("Ok! I deleted all the tags for {}.".format(
            dict_state_to_lang_tags[state].name),
                                  parse_mode='Markdown')
    else:
        langs = sorted(list(dict_state_to_lang.values()),
                       key=lambda x: x.value)
        keyboard = [[
            InlineKeyboardButton(lang.name,
                                 callback_data="tags{}".format(lang.value))
        ] for lang in langs]
        keyboard.append([
            InlineKeyboardButton('Cancel', callback_data="tags{}".format(-1))
        ])
        reply_markup = InlineKeyboardMarkup(keyboard)

        tags = db.get_all_tags(update.message.chat_id)
        if tags is None:
            tags = ''
        else:
            tags = '\nCurrent tags are:\n' + \
                         ''.join(['\n- *{}*: {}'.format(Languages(language).name, escape_markdown(lang_tags) if tags else "") for lang_tags, language in tags])
        text = 'Select a language to set tags for that language.{}'.format(
            tags)
        update.message.reply_text(text,
                                  reply_markup=reply_markup,
                                  parse_mode='Markdown')
示例#13
0
class ArtistForm(Form):
    name = StringField('name', validators=[DataRequired('Name is required.')])
    city = StringField(
        'city', validators=[DataRequired('City is required.'),
                            Length(0, 120)])
    state = SelectField('state',
                        validators=[DataRequired('State is required.')],
                        choices=State.choices())
    phone = StringField('phone')
    genres = SelectMultipleField(
        'genres',
        validators=[DataRequired('At least one genre is required.')],
        choices=Genre.choices())
    image_link = URLField('image_link',
                          validators=[
                              DataRequired('Image link is required.'),
                              URL(message='Image link must be an URL.'),
                              Length(0, 500)
                          ])
    website_link = URLField('website_link', validators=[Length(0, 120)])
    facebook_link = URLField('facebook_link', validators=[Length(0, 120)])
    albums = StringField('albums', validators=[Length(0, 500)])
    seeking_venue = BooleanField('seeking_venue', default='checked')
    seeking_description = StringField('seeking_description',
                                      default="I'm looking for venues.")
    available_times = BooleanField('available_times')
    available_start = DateTimeLocalField('available_start',
                                         default=datetime.utcnow,
                                         format='%Y-%m-%dT%H:%M')
    available_end = DateTimeLocalField('available_end',
                                       default=datetime.utcnow,
                                       format='%Y-%m-%dT%H:%M')
示例#14
0
class VenueForm(Form):
    name = StringField('name', validators=[DataRequired('Name is required.')])
    city = StringField(
        'city', validators=[DataRequired('City is required.'),
                            Length(0, 120)])
    state = SelectField('state',
                        validators=[DataRequired('State is required.')],
                        choices=State.choices())
    address = StringField('address', validators=[Length(0, 120)])
    phone = StringField('phone')
    genres = SelectMultipleField(
        'genres',
        validators=[DataRequired('At least one genre is required.')],
        choices=Genre.choices())
    image_link = URLField('image_link',
                          validators=[
                              DataRequired('Image link is required.'),
                              URL(message='Image link must be an URL.'),
                              Length(0, 500)
                          ])
    website_link = URLField('website_link', validators=[Length(0, 120)])
    facebook_link = URLField('facebook_link', validators=[Length(0, 120)])
    seeking_talent = BooleanField('seeking_talent', default='checked')
    seeking_description = StringField('seeking_description',
                                      default='We are looking for talent.')
示例#15
0
 def __init__(self, argv):
     self.rules = parser.parse(argv[1])
     self.tape = encoder.encode(argv[2])
     self.init_tape = self.tape
     self.padding = Symbol.by_rep("_")
     self.index = 0
     self.state = State(0)
示例#16
0
class VenueForm(Form):
    name = StringField('name', validators=[DataRequired(), Length(-1, 120)])
    city = StringField('city', validators=[DataRequired(), Length(-1, 120)])
    state = SelectField(
        'state',
        validators=[DataRequired(),
                    AnyOf([choice.value for choice in State])],
        choices=State.choices())
    address = StringField('address',
                          validators=[DataRequired(),
                                      Length(-1, 120)])
    # IDEA: add a phone number validator
    phone = StringField('phone')
    image_link = StringField('image_link',
                             validators=[Length(-1, 500),
                                         URL(),
                                         Optional()])
    genres = SelectMultipleField('genres',
                                 validators=[
                                     DataRequired(),
                                     anyof_for_multiple_field(
                                         [choice.value for choice in Genre])
                                 ],
                                 choices=Genre.choices())
    facebook_link = StringField(
        'facebook_link', validators=[Length(-1, 120),
                                     URL(), Optional()])
示例#17
0
文件: forms.py 项目: michealF/Fyyur
class ArtistForm(Form):
    name = StringField(
        'name', validators=[DataRequired()]
    )
    city = StringField(
        'city', validators=[DataRequired()]
    )
    state = SelectField(
        'state', validators=[DataRequired()],
        choices=State.choices()
    )
    address = StringField(
        'address', validators=[DataRequired()]
    )

    phone = StringField(
        # TODO implement validation logic for state
        'phone', validators=[DataRequired()]
    )
    image_link = StringField(
        'image_link'
    )
    genres = SelectMultipleField(
        # TODO implement enum restriction
        'genres', validators=[DataRequired()],
        choices=Genre.choices()
    )
    facebook_link = StringField(
        # TODO implement enum restriction
        'facebook_link', validators=[URL()]
    )
    seeking_venue = SelectField(
        'seeking_venue', validators=[DataRequired()],
        choices=[('Yes', 'Yes'), ('No', 'No')]
    )
    website = StringField(
        'website', validators=[URL()]
    )
    seeking_description = StringField(
        'seeking_description'
    )

    def validate(self):
        """Define a custom validate method in your Form:"""
        rv = ArtistForm.validate(self)
        if not rv:
            return False
        if not is_valid_phone(self.phone.data):
            self.phone.errors.append('Invalid phone.')
            return False
        if not set(self.genres.data).issubset(dict(Genre.choices()).keys()):
            self.genres.errors.append('Invalid genres.')
            return False
        if self.state.data not in dict(State.choices()).keys():
            self.state.errors.append('Invalid state.')
            return False
        # if pass validation
        return True
示例#18
0
    def get_smart_move_coordinates(self, player):
        for i in range(3):
            for j in range(3):
                if self.matrix[i][j] == " ":
                    # check placing player symbol
                    self.matrix[i][j] = player.symbol
                    new_game_state = self.get_game_state()
                    self.matrix[i][j] = " "
                    if new_game_state == State(player.symbol + " wins"):
                        return i, j
                    # check placing opponent symbol
                    opponent = "X" if player.symbol == "O" else "X"
                    self.matrix[i][j] = opponent
                    self.matrix[i][j] = " "
                    if new_game_state == State(opponent + " wins"):
                        return i, j

        return self.get_random_coordinates()
示例#19
0
def word_th(bot, update):
    db = AnkiGenDB()
    try:
        state = State(db.get_state(update.message.chat_id))
    except ValueError as e:
        if db.get_state(update.message.chat_id) is None:
            db.insert_new_user(id_chat=update.message.chat_id)
        state = State(db.get_state(update.message.chat_id))

    if state == State.normal:
        concept = update.message.text.strip()
        lang = Languages(db.get_language(update.message.chat_id))
        introduced_word(bot, update, lang, concept)
    elif state == State.set_user:
        try:
            db.update_username(update.message.chat_id, update.message.text)
        except:
            bot.sendMessage(update.message.chat_id,
                            text="Sorry, something went wrong")
            return
        bot.sendMessage(update.message.chat_id,
                        text="Success! Username updated.")
    elif state == State.set_pass:
        try:
            db.update_password(update.message.chat_id, update.message.text)
        except:
            bot.sendMessage(update.message.chat_id,
                            text="Sorry, something went wrong")
            return
        bot.sendMessage(update.message.chat_id,
                        text="Success! Password updated.")
    elif state in dict_state_to_lang:
        try:
            db.update_deck_name(update.message.chat_id, update.message.text,
                                dict_state_to_lang[state])
        except:
            bot.sendMessage(update.message.chat_id,
                            text="Sorry, something went wrong")
            return
        bot.sendMessage(update.message.chat_id,
                        text="Success! Deck name updated.")
    else:
        print('not a valid state')
示例#20
0
class ArtistForm(Form):
    name = StringField(
        'Artist name', validators=[DataRequired(message='Please enter an artist name'), Length(min=2, max=50)]
    )
    city = StringField(
        'City', validators=[DataRequired('Please enter the artist\'s city'), Length(min=2, max=50)]
    )
    state = SelectField(
        'State', validators=[DataRequired(message='Please select the artist\'s state'), Length(min=2, max=50), AnyOf([choice.value for choice in State])],
        choices=State.choices()
    )
    phone = StringField(
        'Phone Number'
    )
    image_link = StringField(
        'Image link'
    )
    genres = SelectMultipleField(
        'Genres', validators=[DataRequired(), Length(max=150), ValidateValues([choice.value for choice in Genre])],
        choices=Genre.choices()
    )
    website = StringField(
        'Website', validators=[optional(strip_whitespace=False), URL(message='Please enter a valid URL'), Length(min=10, max=120)]
    )
    facebook_link = StringField(
        'Facebook link', validators=[optional(strip_whitespace=False), URL(message='Please enter a valid URL'), Length(min=15, max=120)]
    )
    seeking_venue = BooleanField(
        'Available to Venues'
    )
    seeking_description = TextAreaField(
        'Description for venues', validators=[Length(max=500)]
    )
    monday = BooleanField(
        'Monday', default='checked'
    )
    tuesday = BooleanField(
        'Tuesday', default='checked'
    )
    wednesday = BooleanField(
        'Wednesday', default='checked'
    )
    thursday = BooleanField(
        'Thursday', default='checked'
    )
    friday = BooleanField(
        'Friday', default='checked'
    )
    saturday = BooleanField(
        'Saturday', default='checked'
    )
    sunday = BooleanField(
        'Sunday', default='checked'
    )
示例#21
0
 def check_rows_win(self):
     for i in range(3):
         previous_symbol = self.matrix[i][0]
         winning_combination = True
         for j in range(3):
             if self.matrix[i][j] != previous_symbol:
                 winning_combination = False
                 break
         if winning_combination and previous_symbol != " ":
             return State(previous_symbol + " wins")
     return State.NOT_FINISHED
示例#22
0
class ArtistForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField('state',
                        validators=[DataRequired()],
                        choices=State.choices())
    phone = StringField('phone')
    image_link = StringField('image_link')
    genres = SelectMultipleField('genres',
                                 validators=[DataRequired()],
                                 choices=Genre.choices())
    facebook_link = StringField('facebook_link', validators=[URL()])
示例#23
0
文件: forms.py 项目: maxlcode/fyyur
 def validate(self):
     rv = Form.validate(self)
     if not rv:
         return False
     if not set(self.genres.data).issubset(dict(Genre.choices()).keys()):
         self.genres.errors.append('Invalid genres.')
         return False
     if self.state.data not in dict(State.choices()).keys():
         self.state.errors.append('Invalid state.')
         return False
     # if pass validation
     return True
 def validate(self):
     # """Define a custom validate method in your Form:"""
     rv = Form.validate(self)
     if not rv:
         return False
     if not set(self.genres.data).issubset(dict(Genre.choices()).keys()):
         self.genres.errors.append('Invalid genre.')
         return False
     if self.state.data not in dict(State.choices()).keys():
         self.state.errors.append('Invalid state.')
         return False
     # if pass validation
     return True
示例#25
0
 def validate(self):
     rv = FlaskForm.validate(self)
     if not rv:
         return False
     if not is_valid_phone(self.phone.data):
         self.phone.errors.append('Invalid phone.')
         return False
     if not set(self.genres.data).issubset(dict(Genre.choices()).keys()):
         self.genres.errors.append('Invalid genres.')
         return False
     if self.state.data not in dict(State.choices()).keys():
         self.state.errors.append('Invalid state.')
         return False
     return true
示例#26
0
class VenueForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField('state',
                        validators=[DataRequired()],
                        choices=State.choices())
    address = StringField('address', validators=[DataRequired()])
    phone = StringField('phone')
    image_link = StringField('image_link')
    genres = SelectMultipleField(
        # TODO implement enum restriction
        'genres',
        validators=[DataRequired()],
        choices=Genre.choices())
    facebook_link = StringField('facebook_link', validators=[URL()])
示例#27
0
class ArtistForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField('state',
                        validators=[DataRequired(), is_valid_state],
                        choices=State.choices())
    phone = StringField('phone', validators=[is_valid_phone])
    image_link = StringField('image_link')
    genres = SelectMultipleField('genres',
                                 validators=[DataRequired(), is_valid_genre],
                                 choices=Genre.choices())
    facebook_link = StringField('facebook_link',
                                validators=[Optional(), URL()])
    website = StringField('website')
    seeking_venue = BooleanField('seeking_venue')
    seeking_description = StringField('seeking_description')
示例#28
0
class ArtistForm(Form):
    name = StringField(
        'name', validators=[DataRequired()]
    )
    city = StringField(
        'city', validators=[DataRequired()]
    )
    state = SelectField(
        'state', validators=[DataRequired()],
        choices=State.choices()
    )
    phone = StringField(
        # TODO implement validation logic for state
      'phone' ,
        validators=[DataRequired(),
        Length(min=10, max=11)
       
         ]
      
    )
    address = StringField(
        # TODO implement validation logic for state
      'address' ,
        validators=[DataRequired(),

         ]
      
    )
    image_link = StringField(
        'image_link'
    )
    genres = SelectMultipleField(
        # TODO implement enum restriction
        'genres', validators=[DataRequired()],
        choices=Genre.choices()
    )
    facebook_link = StringField(
        # TODO implement enum restriction
        'facebook_link', validators=[URL()]
    )
    website = StringField(
        'website', validators=[URL()]
    )
    seeking_venue = SelectField('seeking_venue', choices=[(False, 'No'), (True, 'Yes')])
    seeking_description = StringField(
        'seeking_description', validators=[DataRequired()]
    )
class ArtistForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField('state',
                        validators=[DataRequired()],
                        choices=State.choices())
    phone = StringField(
        # TODO implement validation logic for state
        'phone',
        validators=[
            DataRequired(),
            Regexp('^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$')
        ])
    image_link = StringField('image_link')
    genres = SelectMultipleField(
        # TODO implement enum restriction
        'genres',
        validators=[DataRequired()],
        choices=Genre.choices())
    seeking_venues = BooleanField('seeking_venues', default=False)
    seeking_description = StringField('seeking_description')
    facebook_link = StringField(
        # TODO implement enum restriction
        'facebook_link',
        validators=[URL()])
    website = StringField(
        # TODO implement enum restriction
        'website',
        validators=[URL()])
    image_link = StringField(
        # TODO implement enum restriction
        'image_link',
        validators=[URL()])

    def validate(self):
        # """Define a custom validate method in your Form:"""
        rv = Form.validate(self)
        if not rv:
            return False
        if not set(self.genres.data).issubset(dict(Genre.choices()).keys()):
            self.genres.errors.append('Invalid genre.')
            return False
        if self.state.data not in dict(State.choices()).keys():
            self.state.errors.append('Invalid state.')
            return False
        # if pass validation
        return True
示例#30
0
class VenueForm(Form):
    name = StringField('name', validators=[DataRequired()])
    city = StringField('city', validators=[DataRequired()])
    state = SelectField('state',
                        validators=[DataRequired(), is_valid_state],
                        choices=State.choices())
    address = StringField('address', validators=[DataRequired()])
    phone = StringField('phone', validators=[is_valid_phone])
    image_link = StringField('image_link')
    genres = SelectMultipleField(
        # TODO implement enum restriction
        'genres',
        validators=[DataRequired(), is_valid_genre],
        choices=Genre.choices())
    facebook_link = StringField('facebook_link',
                                validators=[Optional(), URL()])
    website = StringField('website')
    seeking_talent = BooleanField('seeking_talent')
    seeking_description = StringField('seeking_description')