generate_settings.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:Hoshimori_Project 作者: kokonguyen191 项目源码 文件源码
def generate_settings():
    print 'Get the characters'
    all_students = models.Student.objects.all().order_by('id')
    favorite_characters = [(
        student.pk,
        student.name,
        student.mini_icon_url,
    ) for student in all_students]

    print 'Get max stats'
    stats = {
        'hp': None,
        'sp': None,
        'atk': None,
        'def': None,
    }
    evolvables = models.Card.objects.filter(i_rarity__in=EVOLVABLE_RARITIES, i_card_type=0)
    unevolvables = models.Card.objects.exclude(i_rarity__in=EVOLVABLE_RARITIES, i_card_type=0)

    for stat in stats.keys():
        stat_at_70 = stat + "_70"
        # Get max unevolved
        max_evol = getattr(evolvables.order_by("-" + stat_at_70)[0], stat_at_70) + EVOLVED_BONUS_PARAMETER_DICT[stat]
        # Get max evolved
        max_unevol = getattr(unevolvables.order_by("-" + stat_at_70)[0], stat_at_70)

        # Allocate value
        del stats[stat]
        stats[stat + "_max"] = max_evol if max_evol >= max_unevol else max_unevol

    print 'Get latest episode'
    latest_episode = models.Stage.objects.order_by("-episode")[0].episode

    print 'Save generated settings'
    s = u'\
import datetime\n\
FAVORITE_CHARACTERS = ' + unicode(favorite_characters) + u'\n\
MAX_STATS = ' + unicode(stats) + u'\n\
GENERATED_DATE = datetime.datetime.fromtimestamp(' + unicode(time.time()) + u')\n\
LATEST_EPISODE = ' + unicode(latest_episode) + u'\n\
'

    print s
    with open(django_settings.BASE_DIR + '/' + django_settings.SITE + '_project/generated_settings.py', 'w') as f:
        print >> f, s
    f.close()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号