示例#1
0
import sys

sys.path.append('../500_common')
import lib
import lib_ss

if True:
    images = lib.get_images("data/result.html")
else:
    soup = lib_ss.main(
        "/Users/nakamurasatoru/git/d_genji/genji_curation/src/500_common/Chrome1seq",
        "Profile 1", 60)
    images = lib.get_images_by_soup(soup)

manifest = "https://kotenseki.nijl.ac.jp/biblio/100153621/manifest"
areas = ["3020,530,2600,3550", "420,530,2600,3550"]
countMax = 5

token = "eyJhbGciOiJSUzI1NiIsImtpZCI6IjA4MGU0NWJlNGIzMTE4MzA5M2RhNzUyYmIyZGU5Y2RjYTNlNmU4ZTciLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoidS5uYWthbXVyYS5zYXRvcnUgdSIsInBpY3R1cmUiOiJodHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vLXBZeVhMVEpMeFE0L0FBQUFBQUFBQUFJL0FBQUFBQUFBQUFBL0FDSGkzcmVWR21aMzNBQTRXSGloWGQ0aGZfSUcyNHpIX1EvcGhvdG8uanBnIiwiaXNzIjoiaHR0cHM6Ly9zZWN1cmV0b2tlbi5nb29nbGUuY29tL2NvZGgtODEwNDEiLCJhdWQiOiJjb2RoLTgxMDQxIiwiYXV0aF90aW1lIjoxNTk0MjQ4OTI2LCJ1c2VyX2lkIjoiUGwySXNUNWlVV1Z5SVZQUFFkNVNZbHZkdmV6MiIsInN1YiI6IlBsMklzVDVpVVdWeUlWUFBRZDVTWWx2ZHZlejIiLCJpYXQiOjE2MDk1MDU1NjMsImV4cCI6MTYwOTUwOTE2MywiZW1haWwiOiJ1Lm5ha2FtdXJhLnNhdG9ydUBnLmVjYy51LXRva3lvLmFjLmpwIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiZ29vZ2xlLmNvbSI6WyIxMDExNzI0MzcwNTUzMjI0MjcwMDYiXSwiZW1haWwiOlsidS5uYWthbXVyYS5zYXRvcnVAZy5lY2MudS10b2t5by5hYy5qcCJdfSwic2lnbl9pbl9wcm92aWRlciI6Imdvb2dsZS5jb20ifX0.kUmB214m_vDPwjcml7q_6mXeL_iKbkztLTYmEvAYk_v5BezXjIk8SmRalppuEXWko0HDKHr2fUSq77yf5oL0_Df2YHMQFPHbiCc_e48SCJxek3x25BNhQe1zlitEP9Q9QtVyMHJhCYAFXyCRe_ZNrWAKG-8hWFy2Xchbe9_Sk7TJUbY62_L53dK5zwXIdiBqNTRePE1nlGCUm83PrBGXLnBA-OqurGdEMcif-txO-ZYX7olJJhoERaYzG4eEjGdUtFEfHhihcxIxiufPmHpAV5z1TNPlAae6F9NGbZk9o8EWT60LuNVgg4rJo0HrBUvBmOdRHJYUAibp9f3rGArsUw"

lib.post(manifest, areas, countMax, token, images, "Manifest", timeout=1)
示例#2
0
import sys

sys.path.append('../500_common')
import lib
import lib_ss

if True:
    images = lib.get_images("data/result.html")
else:
    soup = lib_ss.main(
        "/Users/nakamurasatoru/git/d_genji/genji_curation/src/500_common/Chrome31",
        "Profile 3", 10)
    images = lib.get_images_by_soup(soup)

collectionUrl = "https://utda.github.io/genji/iiif/ndl-2610937/top.json"
areas = ["3200,250,2800,2600", "430,250,2800,2600"]
countMax = 10

# token = lib.get_token("../token.yml")

token = "eyJhbGciOiJSUzI1NiIsImtpZCI6IjA4MGU0NWJlNGIzMTE4MzA5M2RhNzUyYmIyZGU5Y2RjYTNlNmU4ZTciLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoi5Lit5p2R6KaaIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS8tWHQ1NENUT1pEdVEvQUFBQUFBQUFBQUkvQUFBQUFBQUFBQUEvQUFLV0pKTjg3RWs3MVZqeTZyWTNpeTh6bmFFR0FqeFlpdy9waG90by5qcGciLCJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20vY29kaC04MTA0MSIsImF1ZCI6ImNvZGgtODEwNDEiLCJhdXRoX3RpbWUiOjE2MDkzMzYyMDgsInVzZXJfaWQiOiJvZ2Z0UkpaeGxDZzZIRDZMelNPWGZ4ZlBXYUEzIiwic3ViIjoib2dmdFJKWnhsQ2c2SEQ2THpTT1hmeGZQV2FBMyIsImlhdCI6MTYwOTM5MTAyMSwiZXhwIjoxNjA5Mzk0NjIxLCJlbWFpbCI6InNhLnRvcnUuYTQxNjIzQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJmaXJlYmFzZSI6eyJpZGVudGl0aWVzIjp7Imdvb2dsZS5jb20iOlsiMTA0ODEzNDEzMzM0OTI0ODM4NDQzIl0sImVtYWlsIjpbInNhLnRvcnUuYTQxNjIzQGdtYWlsLmNvbSJdfSwic2lnbl9pbl9wcm92aWRlciI6Imdvb2dsZS5jb20ifX0.DQc2txuMzPl7tGdKIRfdIYGfrN9XLchy_QzwwcGa9psT6dA3AXSCwSd-wO45rRslevlOjcJe7cZVHl4iHo9rOPUYLmWhdhRycOhdYRAk0VvibOpcO8KgfJvKl7dGnD_5D1H9Mpyvarw7s7APmTKchnFJeo71uJrdAtDhq51Utg4UNVpGTfG8arjFedptkld2ocmxKgtyj5TQ7-5Dnho_Et0tD2_Ua3FNBo0JvNtUyRtnFML1jetyuLnTRBX30inF_bXh7cEPKtigRnQkFIdMWikeapevB_3HR0c5QbLC5ymo9iNAod34PMg1uabUoRID0letiHtGbM__7dGNZPiQ8w"

lib.post(collectionUrl, areas, countMax, token, images, "Collection")
示例#3
0
"""
Prime numbers taken from [The Prime Pages](https://primes.utm.edu/lists/2small/200bit.html)
"""

from lib import post, crypto
from lib.math import mpz
from lib.ntheory import is_prime, next_prime, AdditionChain
from itertools import count
import time

################### Part 1 ###################
post(1)

#N = [mpz(2) ** 293 - k for k in [601, 1095, 1389]]
N = []; k = (mpz(1) << 1024) - 1
for i in range(3):
	k = next_prime(k)
	N.append(k)
del k
#E = [mpz(2) ** 145 - k for k in [151, 295]][:1]
E = [next_prime((mpz(1) << 512) - 1)]
for k in N[:3]:
	assert is_prime(k, 100)
post(1, 'p, q and r are all prime numbers')

RSA = crypto.RSA(N, crypto.RSA.Exp(E))
x = mpz(time.time())
T = [(k, RSA.test(k, x)) for k in RSA.dec]
post(2, 'all decryption results are correct')

################### Part 2 ###################
示例#4
0
from lib.math import *
from lib import post, hexa
from itertools import combinations
from libnum.common import randint_bits
from random import randint

size = 32
p = 11# 1019
m = 29# randint_bits(size) | (1 << (size - 1))
post(1, 'message m: %X, base p: %s', m, p)

s = 1
P = to_base(m, p)
k = P.degree + 1
n = k + 2*s
post(2, 'P: %s, k: %s, n: %s', P, k, n)

y = Vector((P(i, p) for i in range(1, n+1)), hexa)
post(3, 'vector y: %s', y)

d = 2#randint(1, n)
z = Vector([9, 2, 6, 5, 8], hexa)
#z = Vector((y[i] if i != d else (y[i] + 1) % p for i in range(n)), hexa)
post(4, 'vector z: %s, error index: %d', z, d)

Q = ()
T = (e for e in range(1, n+1) if e != d)
for A in combinations(T, k):
	B = lambda x: (e for e in A if e != x)
	frac = lambda i: ((j * invmod(j - i, p)) % p for j in B(i))
	fc = sum(((z[i-1] * prod(frac(i), p)) % p for i in A), p)
示例#5
0
import sys
sys.path.append('../500_common')
import lib
import lib_ss

if False:
    images = lib.get_images("data/result.html")
else:
    soup = lib_ss.main(
        "/Users/nakamurasatoru/git/d_genji/genji_curation/src/500_common/Chrome3post",
        "Profile 3", 60)
    images = lib.get_images_by_soup(soup)

manifest = "https://kotenseki.nijl.ac.jp/biblio/100266039/manifest"
areas = ["2840,390,2160,3010", "550,390,2160,3010"]

# 2840,387,2160,3012/full/0/default.jpg

countMax = 20

# token = lib.get_token("../token.yml")
token = "eyJhbGciOiJSUzI1NiIsImtpZCI6IjA4MGU0NWJlNGIzMTE4MzA5M2RhNzUyYmIyZGU5Y2RjYTNlNmU4ZTciLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoi5Lit5p2R6KaaIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS8tWHQ1NENUT1pEdVEvQUFBQUFBQUFBQUkvQUFBQUFBQUFBQUEvQUFLV0pKTjg3RWs3MVZqeTZyWTNpeTh6bmFFR0FqeFlpdy9waG90by5qcGciLCJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20vY29kaC04MTA0MSIsImF1ZCI6ImNvZGgtODEwNDEiLCJhdXRoX3RpbWUiOjE2MDkzMzYyMDgsInVzZXJfaWQiOiJvZ2Z0UkpaeGxDZzZIRDZMelNPWGZ4ZlBXYUEzIiwic3ViIjoib2dmdFJKWnhsQ2c2SEQ2THpTT1hmeGZQV2FBMyIsImlhdCI6MTYwOTQ1MzI5NiwiZXhwIjoxNjA5NDU2ODk2LCJlbWFpbCI6InNhLnRvcnUuYTQxNjIzQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJmaXJlYmFzZSI6eyJpZGVudGl0aWVzIjp7Imdvb2dsZS5jb20iOlsiMTA0ODEzNDEzMzM0OTI0ODM4NDQzIl0sImVtYWlsIjpbInNhLnRvcnUuYTQxNjIzQGdtYWlsLmNvbSJdfSwic2lnbl9pbl9wcm92aWRlciI6Imdvb2dsZS5jb20ifX0.oVA1q6JloDC2erOftmaxKytyUdtRr_7Q3d9ooNfkqGDRKN6ax6AKFNbqkkhucckWzAA4FoDrc7x2LQNkXAJ9LUNn6awMCkkT6aaHEJboiEA0NWxwLR12H3MGfduECFSMGt7eZyp51-NsuvnawzmKPkAns0fpvBZHSNSjrSVQEs1fJ86aT_WxY8LksWPlTwM7CoLq_P4bGpbtrMJvNS9ngnZ-_UavMhNuF3L8qLYkPLj4LHER4Bm0JcqkrwUh1d1UEM2-YPo8KyYoBQEIYwNUfusxa0LeHxiMz3ba2bb0XkrR0dA0ndbf7vGtp9LXz6gyT710vMCnsd0up8EaNXv_Kw"

lib.post(manifest, areas, countMax, token, images, "Manifest")
示例#6
0
def create_repo(name):
    """Create repository"""
    return lib.post('/pulp/api/v3/repositories/',
                    data={'name': name})['_href']
示例#7
0
def create_distribution(name, base_path, pub):
    """Start distribution of the repository version, return task"""
    return lib.post('/pulp/api/v3/distributions/file/file/',
                    data={'name': name, 'base_path': base_path, 'publication': pub})['task']
示例#8
0
def create_publication(repo):
    """Start publication of the repository, return task"""
    return lib.post('/pulp/api/v3/publications/file/file/',
                    data={'repository': repo})['task']
示例#9
0
def start_sync(repo, remote):
    """Start sync of the remote into the repository, return task"""
    return lib.post(remote+'sync/',
                    data={'repository': repo, 'mirror': False})['task']
示例#10
0
def create_remote(name, url):
    """Create remote"""
    return lib.post('/pulp/api/v3/remotes/file/file/',
                    data={'name': name, 'url': url+'PULP_MANIFEST'})['_href']