コード例 #1
0
ファイル: filsys.py プロジェクト: ddierschow/bamca
def do_prod_masses(pif, tform):
    ddir = tform.tdir.replace('lib', 'pic')
    print pif.form.get_str('credit'), ddir, '<br>'
    if not os.path.exists(ddir):
        raise useful.SimpleError('Path does not exist.')
    siz = pif.form.get('tysz')
    cred = pif.form.get_str('credit')
    if cred:
	photog = pif.dbh.fetch_photographer(cred)
	if not photog:
	    cred = ''
    for fn, nam in pif.form.get_list(start='nam.'):
	print '<hr>'
	print fn, ddir, siz, nam, '<br>'

	rf = [False, False, False, False, False]
	pth = tform.tdir + '/' + fn
	q = (0, 0,) + imglib.get_size(pth)
	nname = ddir + '/' + siz + '_' + nam + '.jpg'
	ts = (400, 0)
	ofi = imglib.shrinker(pth, nname, q, ts, rf)
	imglib.simple_save(ofi, nname)
	images.file_log(nname, tform.tdir)
	url = pif.secure_prod + nname
	link = pif.secure_prod
	title = nam
	if cred and not photog.flags & config.FLAG_PHOTOGRAPHER_PRIVATE:
	    title += ' credited to ' + photog.name
	pif.render.message('Post to Tumblr: ', tumblr.tumblr(pif).create_photo(caption=title, source=url, link=link))
	pif.render.message('Credit added: ', pif.dbh.write_photo_credit(cred, ddir, nam))
コード例 #2
0
ファイル: dcheck.py プロジェクト: ddierschow/bamca
def check_base_id(pif):
    ids = pif.dbh.fetch_base_ids()
    for id in ids:
        rn = pif.dbh.icon_name(id['base_id.rawname'])
        if not rn or any([len(x) > 25 for x in rn]):
            print(id['base_id.id'], id['base_id.rawname'], '=>', rn)
        if (id['base_id.first_year'] is None
                or int(id['base_id.first_year']) < 1947
                or int(id['base_id.first_year']) > 2015):
            print(id['base_id.id'], id['base_id.first_year'], 'not in bounds')
        if id['base_id.model_type'] not in mbdata.model_types:
            print(id['base_id.id'], id['base_id.model_type'], 'not in list')
        # small_pic = os.path.join(config.IMG_DIR_MAN, 's_' + id['base_id.id'].lower() + '.jpg')
        small_pic = os.path.join(
            *pif.render.find_image_file(pdir=config.IMG_DIR_MAN,
                                        prefix=mbdata.IMG_SIZ_SMALL,
                                        fnames=id['base_id.id']))
        # if not os.path.exists(small_pic):
        if not small_pic:
            if not id['base_id.flags'] & config.FLAG_MODEL_NOT_MADE:
                print(id['base_id.id'], 'no pictures', small_pic)
        else:
            pic_size = imglib.get_size(small_pic)
            if pic_size != (200, 120):
                print(id['base_id.id'], 'bad size', pic_size)
    print(len(ids), 'entries checked')
コード例 #3
0
ファイル: filsys.py プロジェクト: ddierschow/cab984
def do_prod_masses(pif, tform):
    ddir = tform.tdir.replace('lib', 'pic')
    print pif.form.get_str('credit'), ddir, '<br>'
    siz = pif.form.get('tysz')
    for fn, nam in pif.form.get_list(start='nam.'):
	print '<hr>'
	print fn, ddir, siz, nam, '<br>'

	rf = [False, False, False, False, False]
	pth = tform.tdir + '/' + fn
	q = (0, 0,) + imglib.get_size(pth)
	nname = ddir + '/' + siz + '_' + nam + '.jpg'
	ts = (400, 0)
	ofi = imglib.shrinker(pth, nname, q, ts, rf)
	imglib.simple_save(ofi, nname)
	images.file_log(nname, tform.tdir)
	url = 'http://www.bamca.org/' + nname
	link = 'http://www.bamca.org/'
	useful.write_message('Post to Tumblr: ', tumblr.tumblr(pif).create_photo(caption=nam, source=url, link=link))
	pif.dbh.write_photo_credit(pif.form.get_str('credit'), ddir, nam)
コード例 #4
0
ファイル: dcheck.py プロジェクト: ddierschow/bamca
def check_base_id(pif):
    ids = pif.dbh.fetch_base_ids();
    for id in ids:
	rn = pif.dbh.icon_name(id['base_id.rawname'])
	if not rn or any([len(x) > 25 for x in rn]):
	    print id['base_id.id'], id['base_id.rawname'], '=>', rn
	if id['base_id.first_year'] is None or int(id['base_id.first_year']) < 1947 or int(id['base_id.first_year']) > 2015:
	    print id['base_id.id'], id['base_id.first_year'], 'not in bounds'
	if id['base_id.model_type'] not in mbdata.model_types:
	    print id['base_id.id'], id['base_id.model_type'], 'not in list'
	#small_pic = os.path.join(config.IMG_DIR_MAN, 's_' + id['base_id.id'].lower() + '.jpg')
	small_pic = os.path.join(*pif.render.find_image_file(pdir=config.IMG_DIR_MAN, prefix=mbdata.IMG_SIZ_SMALL, fnames=id['base_id.id']))
	#if not os.path.exists(small_pic):
	if not small_pic:
	    if not id['base_id.flags'] & config.FLAG_MODEL_NOT_MADE:
		print id['base_id.id'], 'no pictures', small_pic
	else:
	    pic_size = imglib.get_size(small_pic)
	    if pic_size != (200, 120):
		print id['base_id.id'], 'bad size', pic_size
    print len(ids), 'entries checked'
コード例 #5
0
ファイル: filsys.py プロジェクト: ddierschow/bamca
def do_prod_masses(pif, tform):
    ddir = tform.tdir.replace('lib', 'pic')
    print(pif.form.get_str('credit'), ddir, '<br>')
    if not os.path.exists(ddir):
        raise useful.SimpleError('Path does not exist.')
    siz = pif.form.get('tysz')
    cred = pif.form.get_str('credit')
    if cred:
        photog = pif.dbh.fetch_photographer(cred)
        if not photog:
            cred = ''
    for fn, nam in pif.form.get_list(start='nam.'):
        print('<hr>')
        print(fn, ddir, siz, nam, '<br>')

        rf = [False, False, False, False, False]
        pth = tform.tdir + '/' + fn
        q = (
            0,
            0,
        ) + imglib.get_size(pth)
        nname = ddir + '/' + siz + '_' + nam + '.jpg'
        ts = (400, 0)
        ofi = imglib.shrinker(pth, nname, q, ts, rf)
        imglib.simple_save(ofi, nname)
        images.file_log(nname, tform.tdir)
        url = pif.secure_prod + nname[1:]
        link = pif.secure_prod
        title = nam
        if cred and not photog.flags & config.FLAG_PHOTOGRAPHER_PRIVATE:
            title += ' credited to ' + photog.name
        pif.render.message(
            'Post to Tumblr: ',
            tumblr.Tumblr(pif).create_photo(caption=title,
                                            source=url,
                                            link=link))
        pif.render.message('Credit added: ',
                           pif.dbh.write_photo_credit(cred, ddir, nam))
コード例 #6
0
def show_left_bar_content(pif, model, ref, pic, pdir, lm_pic_id,
                          raw_variations):
    mod_id = model['id']
    links = []
    if pif.is_allowed('a'):  # pragma: no cover
        links.append('<a href="vars.cgi?recalc=1&mod=%s">Recalculate</a>' %
                     mod_id)
        links.append('<a href="%s">Casting</a>' %
                     pif.dbh.get_editor_link('casting', {'id': mod_id}))
        links.append(
            '<a href="%s">AttrPics</a>' %
            pif.dbh.get_editor_link('attribute_picture', {'mod_id': mod_id}))
        links.append('<a href="mass.cgi?type=related&mod_id=%s">Relateds</a>' %
                     mod_id)
        if ref.startswith('year.'):
            links.append('<a href="%s">Lineup Model</a>' %
                         pif.dbh.get_editor_link('lineup_model', {
                             'year': ref[5:],
                             'mod_id': mod_id
                         }))
        elif ref.startswith('matrix.'):
            links.append('<a href="%s">Matrix Model</a>' %
                         pif.dbh.get_editor_link('matrix_model', {
                             'page_id': ref,
                             'mod_id': id
                         }))
        elif ref.startswith('packs.'):
            links.append(
                '<a href="%s">Pack Model</a>' %
                pif.dbh.get_editor_link('pack_model', {
                    'pack_id': pif.form.get_str('sub'),
                    'mod_id': mod_id
                }))
        links.append('<a href="vars.cgi?list=1&mod=%s">Variations</a>' %
                     mod_id)
        links.append('<a href="vars.cgi?vdet=1&mod=%s">Details</a>' % mod_id)
        links.append('<a href="vsearch.cgi?ask=1&id=%s">Search</a>' % mod_id)
        links.append('<a href="pics.cgi?m=%s">Pictures</a>' % mod_id.lower())
        links.append('<a href="edlinks.cgi?page=single.%s">Links</a>' % mod_id)
    if os.path.exists(
            useful.relpath('.', config.LIB_MAN_DIR,
                           mod_id.replace('/', '_').lower())):
        if pif.is_allowed('v'):  # pragma: no cover
            links.append('<a href="traverse.cgi?d=%s">Library</a>' %
                         useful.relpath('.', config.LIB_MAN_DIR,
                                        mod_id.replace('/', '_').lower()))
        if pif.is_allowed('a'):  # pragma: no cover
            links.append('<a href="upload.cgi?d=%s&m=%s">Library Upload</a>' %
                         (useful.relpath('.', config.LIB_MAN_DIR,
                                         mod_id.replace('/', '_').lower()),
                          mod_id.replace('/', '_').lower()))

    ostr = ''
    if pif.is_allowed('a'):  # pragma: no cover
        #<i class="fas fa-star white"></i>
        #<i class="fas fa-star-half-o white"></i>
        #<i class="fas fa-star-o white"></i>
        prodstar = 'fa-star-o black'
        if pic:
            links.append('')
            prodstar = 'fa-star white'
            prod = pic
            prod += ' <a href="upload.cgi?d=%s&n=%s&c=%s&link=%s"><i class="fas fa-upload"></i></a>' % (
                pdir.replace('pic',
                             'lib'), pic, pic, urllib.quote(pif.request_uri))
            prodpic = pif.render.find_image_path(pic, pdir=pdir)
            if lm_pic_id:
                prod += ' <a href="%s&useprev=2"><i class="fas fa-step-backward red"></i></a>' % pif.request_uri
            elif prodpic:
                x, y = imglib.get_size(prodpic)
                if x > 400:
                    prodstar = 'fa-star yellow'
                elif x == 400:
                    prodstar = 'fa-star black'
                else:
                    prodstar = 'fa-star red'
                prod += ' <a href="imawidget.cgi?act=1&d=./%s&f=%s&delete=1"><i class="fas fa-remove"></i></a>' % (
                    pdir, prodpic[prodpic.rfind('/') + 1:])
            else:
                prod += ' <a href="%s&useprev=1"><i class="fas fa-step-backward"></i></a>' % pif.request_uri
            links.append(prod)
        links.append('')
        vfl = pif.dbh.fetch_variation_files(mod_id)
        for vf in vfl if vfl else [{
                'mod_id': mod_id,
                'imported_from': 'importer'
        }]:
            links.append(
                '<a href="vedit.cgi?d=src/mbxf&m=%(mod_id)s&f=%(imported_from)s">%(imported_from)s</a>'
                % vf)
        var_pics, var_texts = show_list_var_pics(pif, mod_id)
        ostr += '<br>\n'.join(var_pics) + '<p>\n'
        fmt_bad, _, _ = pif.dbh.check_description_formatting(mod_id)
        ostr += '<i class="fas fa-times red"></i>' if fmt_bad else '<i class="fas fa-check green"></i>'
        ostr += '<br>'
        for i_vt in range(1, len(var_texts)):
            vt = var_texts[i_vt]
            ostr += '<i title="%s" class="fas fa-star%s"></i>\n' % (
                mbdata.model_texts[i_vt - 1], '-o gray'
                if not model['format_' + mbdata.desc_attributes[i_vt - 1]] else
                (' green' if vt == var_texts[0] else
                 (' red' if not vt else ' yellow')))
        ostr += '<p>\n'
        ostr += '<i class="fas %s"></i><p>\n' % prodstar
        var_ids = [x['v.var'] for x in raw_variations]
        var_ids.sort()
        for var in var_ids:
            ostr += '<a href="vars.cgi?mod=%s&var=%s&edit=1">%s</a>\n' % (
                mod_id, var, var)
            if var:
                for sz in mbdata.image_size_types:
                    if os.path.exists(
                            useful.relpath(
                                '.', config.IMG_DIR_VAR, sz + '_' + mod_id +
                                '-' + var + '.jpg').lower()):
                        ostr += sz.upper() + ' '
                ostr += '<a href="vars.cgi?mod=%s&var=%s"><i class="fas fa-edit"></i></a>\n' % (
                    mod_id, var)
                ostr += pif.render.format_link(
                    'upload.cgi?d=%s&m=%s&v=%s&l=1&c=%s+variation+%s' %
                    (useful.relpath('.', config.LIB_MAN_DIR,
                                    mod_id.lower()), mod_id, var, mod_id, var),
                    '<i class="fas fa-upload"></i>') + '\n'
                ostr += pif.render.format_link(
                    'traverse.cgi?g=1&d=%s&man=%s&var=%s' %
                    (useful.relpath('.', config.LIB_MAN_DIR, mod_id.lower()),
                     mod_id, var), '<i class="fas fa-bars"></i>') + '\n'
            ostr += '<br>\n'
    ostr = '<br>\n'.join(links) + '<p>\n' + ostr
    return ostr
コード例 #7
0
ファイル: single.py プロジェクト: ddierschow/bamca
def show_left_bar_content(pif, model, ref, pic, pdir, lm_pic_id, raw_variations):
    mod_id = model['id']
    links = []
    if pif.is_allowed('a'):  # pragma: no cover
        links.append('<a href="vars.cgi?recalc=1&mod=%s">Recalculate</a>' % mod_id)
        links.append('<a href="%s">Casting</a>' % pif.dbh.get_editor_link('casting', {'id': mod_id}))
        links.append('<a href="%s">AttrPics</a>' % pif.dbh.get_editor_link('attribute_picture', {'mod_id': mod_id}))
        links.append('<a href="mass.cgi?type=related&mod_id=%s">Relateds</a>' % mod_id)
        links.append('<a href="mass.cgi?type=alias&mod_id=%s">Aliases</a>' % mod_id)
        links.append('<a href="vars.cgi?edt=1&mod=%s">Variations</a>' % mod_id)
        links.append('<a href="vars.cgi?adl=1&mod=%s">Attr Edit</a>' % mod_id)
        links.append('<a href="vars.cgi?vdt=1&mod=%s">Details</a>' % mod_id)
        links.append('<a href="vsearch.cgi?ask=1&id=%s">Search</a>' % mod_id)
        links.append('<a href="pics.cgi?m=%s">Pics</a> <a href="vars.cgi?lrg=1&mod=%s&pic1=1&hc=1&picown=1&ci=1&c1=1&c2=1">Creds</a>' % (mod_id.lower(), mod_id))
        links.append('<a href="edlinks.cgi?page_id=single.%s">Links</a>' % mod_id)
    if os.path.exists(useful.relpath('.', config.LIB_MAN_DIR, mod_id.replace('/', '_').lower())):
	if pif.is_allowed('v'):  # pragma: no cover
	    links.append('<a href="traverse.cgi?d=%s">Library</a>' % useful.relpath('.', config.LIB_MAN_DIR, mod_id.replace('/', '_').lower()))
	if pif.is_allowed('a'):  # pragma: no cover
	    links.append('<a href="upload.cgi?d=%s&m=%s">Library Upload</a>' % (useful.relpath('.', config.LIB_MAN_DIR, mod_id.replace('/', '_').lower()), mod_id.replace('/', '_').lower()))
	    links.append('<a href="/cgi-bin/traverse.cgi?p=%s&d=%s&mr=1&lty=mss&til=1&credit=DT" target="_blank">Tilley List</a>' %
			 (imglib.get_tilley_file().get(mod_id.lower(), [''])[0] + '*',
			 useful.relpath('.', config.LIB_MAN_DIR, mod_id.replace('/', '_').lower())))

    ref_link = ostr = ''
    if pif.is_allowed('a'):  # pragma: no cover
        prodstar = 'far fa-star black'
        if ref.startswith('year.'):
            ref_link = pif.dbh.get_editor_link('lineup_model', {'year': ref[5:], 'mod_id': mod_id})
        elif ref.startswith('matrix.'):
            ref_link = pif.dbh.get_editor_link('matrix_model', {'page_id': ref, 'mod_id': id})
        elif ref.startswith('packs.'):
            ref_link = pif.dbh.get_editor_link('pack_model', {'pack_id': pif.form.get_str('sec'), 'mod_id': mod_id})
        if pic:
	    links.append('')
            prodstar = 'fas fa-star white'
	    prod = pic
            prod += ' <a href="upload.cgi?d=%s&n=%s&c=%s&link=%s"><i class="fas fa-upload"></i></a>' % (pdir.replace('pic', 'lib'), pic, pic, useful.url_quote(pif.request_uri))
            prodpic = pif.render.find_image_path(pic, pdir=pdir, largest="m")
            if lm_pic_id:
		prod = '<i class="%s"></i>\n' % prodstar + prod
                prod += ' <a href="%s&useprev=2"><i class="fas fa-step-backward red"></i></a>' % pif.request_uri
            elif prodpic:
                x, y = imglib.get_size(prodpic)
                if x > 400:
                    prodstar = 'fas fa-star yellow'
                elif x == 400:
                    prodstar = 'fas fa-star black'
                else:
                    prodstar = 'fas fa-star red'
		prod = '<i class="%s"></i>\n' % prodstar + prod
                prod += ' <a href="imawidget.cgi?act=1&d=./%s&f=%s&trash=1"><i class="fas fa-times"></i></a>' % (pdir, prodpic[prodpic.rfind('/') + 1:])
		if ref_link:
		    prod += pif.render.format_link(ref_link, ' <i class="fas fa-edit"></i>')
            else:
		prod = '<i class="%s"></i>\n' % prodstar + prod
		if ref_link:
		    prod += pif.render.format_link(ref_link, ' <i class="fas fa-edit"></i>')
                prod += ' <a href="%s&useprev=1"><i class="fas fa-step-backward"></i></a>' % pif.request_uri
	    links.append(prod)
        links.append('')
        vfl = pif.dbh.fetch_variation_files(mod_id)
        for vf in vfl if vfl else [{'mod_id': mod_id, 'imported_from': 'importer'}]:
            links.append('<a href="vedit.cgi?d=src/mbxf&m=%(mod_id)s&f=%(imported_from)s">%(imported_from)s</a>' % vf)
	var_pics, var_texts = show_list_var_pics(pif, mod_id)
        ostr += '<br>\n'.join(var_pics) + '<p>\n'
	fmt_bad, _, _ = pif.dbh.check_description_formatting(mod_id)
	ostr += '<i class="fas fa-times red"></i>' if fmt_bad else '<i class="fas fa-check green"></i>'
	ostr += '<br>'
	for i_vt in range(1, len(var_texts)):
	    vt = var_texts[i_vt]
	    ostr += '<i title="%s" class="%s"></i>\n' % (mbdata.model_texts[i_vt - 1],
		    'far fa-star gray' if not model['format_' + mbdata.desc_attributes[i_vt - 1]] else
                    ('fas fa-star green' if vt == var_texts[0] else ('fas fa-star red' if not vt else 'fas fa-star yellow')))
        ostr += '<p>\n'
        var_ids = [x['v.var'] for x in raw_variations]
        var_ids.sort()
        for var in var_ids:
            ostr += '<a href="vars.cgi?mod=%s&var=%s&edt=1">%s</a>\n' % (mod_id, var, var)
	    if var:
		for sz in mbdata.image_size_types:
		    if os.path.exists(useful.relpath('.', config.IMG_DIR_VAR, sz + '_' + mod_id + '-' + var + '.jpg').lower()):
			ostr += sz.upper() + ' '
		ostr += '<a href="vars.cgi?mod=%s&var=%s&edt=1"><i class="fas fa-edit"></i></a>\n' % (mod_id, var)
		ostr += pif.render.format_link('upload.cgi?d=%s&m=%s&v=%s&l=1&c=%s+variation+%s' % (useful.relpath('.', config.LIB_MAN_DIR, mod_id.lower()), mod_id, var, mod_id, var), '<i class="fas fa-upload"></i>') + '\n'
		ostr += pif.render.format_link('traverse.cgi?g=1&d=%s&man=%s&var=%s' % (useful.relpath('.', config.LIB_MAN_DIR, mod_id.lower()), mod_id, var), '<i class="fas fa-bars"></i>') + '\n'
            ostr += '<br>\n'
	for attr in pif.dbh.fetch_attributes(mod_id):
	    ostr += attr['attribute.attribute_name'] + '<br>\n'
    ostr = '<br>\n'.join(links) + '<p>\n' + ostr
    return ostr