예제 #1
0
 def __init__(self,
              data,
              name=haikunator.haikunate(),
              env=LiterateEnvironment()):
     self.env = env
     self.name = name
     self.env.globals[self.name] = self
     super().__init__(data)
예제 #2
0
def _new_haiku():
    name = None
    while not name:
        name = haikunator.haikunate(tokenlength=3, delimiter='')
        if Game.objects.filter(name=name).exists():
            name = None
            continue
    return name
예제 #3
0
def _new_haiku():
    name = None
    while not name:
        name = haikunator.haikunate(tokenlength=3, delimiter='')
        if Game.objects.filter(name=name).exists():
            name = None
            continue
    return name
예제 #4
0
def new_room(request):
    new_room = None
    while not new_room:
        with transaction.atomic():

            label = haikunator.haikunate()
            if Room.objects.filter(label=label).exists():
                continue
            new_room = Room.objects.create(label=label, lobby=Lobby.objects.get(label=cache.get('lobbylabel')))
예제 #5
0
    def make_name(self):
        """
        Makes a Heroku-style name.

        :return: a Heroku-style haiku name
        """
        while True:
            name = haikunate()
            if name not in self.games:
                return name
예제 #6
0
파일: views.py 프로젝트: vsoch/chat
def new_room(request):
    '''new_room will randomly create a new room, and redirect to it.
    '''
    new_room = None
    while not new_room:
        with transaction.atomic():
            label = haikunator.haikunate()
            if Room.objects.filter(label=label).exists():
                continue
            new_room = Room.objects.create(label=label)
    return redirect(chat_room, label=label)
예제 #7
0
파일: views.py 프로젝트: rametta/channels
def new_room(request):
    new_room = None

    while not new_room:
        with transaction.atomic():
            label = haikunator.haikunate()
            if Room.objects.filter(label=label).exists():
                continue
            new_room = Room.objects.create(label=label)

    return redirect(room, label=label)
예제 #8
0
def new_room(request):
    """
    Randomly create a new room, and redirect to it.
    """
    new_room = None
    while not new_room:
        with transaction.atomic():
            label = haikunator.haikunate()
            if Room.objects.filter(label=label).exists():
                continue
            new_room = Room.objects.create(label=label)
    return redirect(chat_room, label=label)
예제 #9
0
def new_discussion(request):
    """
    Randomly create a new discussion, and redirect to it.
    """
    new_discussion = None
    while not new_discussion:
        with transaction.atomic():
            label = haikunator.haikunate()
            if Discussion.objects.filter(label=label).exists():
                continue
            new_discussion = Discussion.objects.create(label=label)
    return redirect(discussion_forum, label=label)
예제 #10
0
def new_room(request):
    """
    Randomly create a new roomt
    """
    print("new room")
    new_room = None
    while not new_room:
        with transaction.atomic():
            label = haikunator.haikunate()
            if Room.objects.filter(label=label).exists():
                continue
            new_room = Room.objects.create(label=label)
    return redirect('chat:chat_room', label=label)
예제 #11
0
 def literate(self, line, cell):
     line = line.strip()
     args = IPython.core.magic_arguments.parse_argstring(self.literate, line)
     define_global = True
     if args.name:
         self.env.globals['_current_name'] = args.name
     else:
         define_global = False
         args.name = haikunator.haikunate(delimiter='_',tokenlength=0)
     display = Cell( cell, args.name, self.env )
     if define_global:
         self.env.ip.user_ns[args.name] = display
     if not args.nodisplay:
         return display
예제 #12
0
def new_room(request):
    """
    Cree aleatoriamente una nueva sala y redireccione a ella.
    """
    new_room = None

    while not new_room:
        with transaction.atomic():
            label = haikunator.haikunate()
            if Room.objects.filter(label=label).exists():
                continue
            new_room = Room.objects.create(label=label)

    return redirect(chat_room, label=label)
예제 #13
0
def new_room(request):
    """
    Randomly create a new room, and redirect to it.
    """
    print("start in new_room of view!!!!!!!!!!!!")

    new_room = None
    while not new_room:
        with transaction.atomic():
            label = haikunator.haikunate()
            if Room.objects.filter(label=label).exists():
                continue
            new_room = Room.objects.create(label=label)
    return redirect(chat_room, label=label)
예제 #14
0
    def create(self, request, *args, **kwargs):
        new_room = None
        while not new_room:
            with transaction.atomic():
                label = haikunator.haikunate()
                if Room.objects.filter(label=label).exists():
                    continue
                new_room = Room.objects.create(label=label)

        serializer = self.get_serializer(new_room)
        headers = self.get_success_headers(serializer.data)
        return Response(serializer.data,
                        status=status.HTTP_201_CREATED,
                        headers=headers)
예제 #15
0
 def literate(self, line, cell):
     line = line.strip()
     args = IPython.core.magic_arguments.parse_argstring(
         self.literate, line)
     define_global = True
     if args.name:
         self.env.globals['_current_name'] = args.name
     else:
         define_global = False
         args.name = haikunator.haikunate(delimiter='_', tokenlength=0)
     display = Cell(cell, args.name, self.env)
     if define_global:
         self.env.ip.user_ns[args.name] = display
     if not args.nodisplay:
         return display
예제 #16
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_onesingleword(self):
     self.assertRegexp(haikunate(delimiter='', tokenlength=0),
                       "((?:[a-z][a-z]+))$")
예제 #17
0
 def test_wont_return_same(self):
     self.assertNotEqual(haikunate(), haikunate())
예제 #18
0
 def test_9digits_use(self):
     self.assertRegexp(haikunate(tokenlength=9), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(\\d{9})$")
예제 #19
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_return_same_with_seed(self):
     seed = 'testseed'
     self.assertEqual(haikunate(seed=seed), haikunate(seed=seed))
예제 #20
0
def append_random_haiku(name):
    haiku = haikunator.haikunate(token_length=0, delimiter='')
    return "{}_{}".format(name, haiku)
예제 #21
0
def _make_display_name():
    return haikunate(tokenhex=True, tokenlength=6)
예제 #22
0
 def test_spacedelimiter_and_notoken(self):
   if (sys.version_info > (3, 0)):
     self.assertRegex(haikunate(delimiter=' ', tokenLength=0), "((?:[a-z][a-z]+))( )((?:[a-z][a-z]+))$")
   else:
     self.assertRegexpMatches(haikunate(delimiter=' ', tokenLength=0), "((?:[a-z][a-z]+))( )((?:[a-z][a-z]+))$")
예제 #23
0
 def test_permits_optional_delimiter(self):
   if (sys.version_info > (3, 0)):
     self.assertRegex(haikunate(delimiter='.'), "((?:[a-z][a-z]+))(\\.)((?:[a-z][a-z]+))(\\.)(\\d+)$")
   else:
     self.assertRegexpMatches(haikunate(delimiter='.'), "((?:[a-z][a-z]+))(\\.)((?:[a-z][a-z]+))(\\.)(\\d+)$")
예제 #24
0
 def test_drops_token(self):
   if (sys.version_info > (3, 0)):
     self.assertRegex(haikunate(tokenLength=0), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))$")
   else:
     self.assertRegexpMatches(haikunate(tokenLength=0), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))$")
예제 #25
0
 def test_9digitsashex_use(self):
   if (sys.version_info > (3, 0)):
     self.assertRegex(haikunate(tokenHex=True, tokenLength=9), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(.{9})$")
   else:
     self.assertRegexpMatches(haikunate(tokenHex=True, tokenLength=9), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(.{9})$")
예제 #26
0
 def test_hex_use(self):
   if (sys.version_info > (3, 0)):
     self.assertRegex(haikunate(tokenHex=True), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(.{4})$")
   else:
     self.assertRegexpMatches(haikunate(tokenHex=True), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(.{4})$")
예제 #27
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_9digitsashex_use(self):
     self.assertRegexp(haikunate(tokenhex=True, tokenlength=9),
                       "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(.{9})$")
예제 #28
0
 def test_return_same_with_seed(self):
     seed = 'testseed'
     self.assertEqual(haikunate(seed=seed), haikunate(seed=seed))
예제 #29
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_drops_token(self):
     self.assertRegexp(haikunate(tokenlength=0),
                       "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))$")
예제 #30
0
 def test_onesingleword(self):
   if (sys.version_info > (3, 0)):
     self.assertRegex(haikunate(delimiter='', tokenLength=0), "((?:[a-z][a-z]+))$")
   else:
     self.assertRegexpMatches(haikunate(delimiter='', tokenLength=0), "((?:[a-z][a-z]+))$")
예제 #31
0
def _make_display_name():
    return haikunate(tokenhex=True, tokenlength=6)
예제 #32
0
 def test_customchars(self):
   if (sys.version_info > (3, 0)):
     self.assertRegex(haikunate(tokenChars='A'), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(AAAA)$")
   else:
     self.assertRegexpMatches(haikunate(tokenChars='A'), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(AAAA)$")
예제 #33
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_permits_optional_delimiter(self):
     self.assertRegexp(
         haikunate(delimiter='.'),
         "((?:[a-z][a-z]+))(\\.)((?:[a-z][a-z]+))(\\.)(\\d+)$")
예제 #34
0
 def test_default_use(self):
     self.assertRegexp(haikunate(), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(\\d{4})$")
예제 #35
0
 def test_default_use(self):
   if (sys.version_info > (3, 0)):
     self.assertRegex(haikunate(), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(\\d{4})$")
   else:
     self.assertRegexpMatches(haikunate(), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(\\d{4})$")
예제 #36
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_customchars(self):
     self.assertRegexp(haikunate(tokenchars='A'),
                       "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(AAAA)$")
예제 #37
0
def get_default_device_name():
	return haikunate(tokenLength=0)
예제 #38
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_9digits_use(self):
     self.assertRegexp(haikunate(tokenlength=9),
                       "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(\\d{9})$")
예제 #39
0
 def test_hex_use(self):
     self.assertRegexp(haikunate(tokenhex=True), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(.{4})$")
예제 #40
0
 def test_permits_optional_delimiter(self):
     self.assertRegexp(haikunate(delimiter='.'), "((?:[a-z][a-z]+))(\\.)((?:[a-z][a-z]+))(\\.)(\\d+)$")
예제 #41
0
 def test_9digitsashex_use(self):
     self.assertRegexp(haikunate(tokenhex=True, tokenlength=9), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(.{9})$")
예제 #42
0
 def test_onesingleword(self):
     self.assertRegexp(haikunate(delimiter='', tokenlength=0), "((?:[a-z][a-z]+))$")
예제 #43
0
 def test_drops_token(self):
     self.assertRegexp(haikunate(tokenlength=0), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))$")
예제 #44
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_spacedelimiter_and_notoken(self):
     self.assertRegexp(haikunate(delimiter=' ', tokenlength=0),
                       "((?:[a-z][a-z]+))( )((?:[a-z][a-z]+))$")
예제 #45
0
 def test_spacedelimiter_and_notoken(self):
     self.assertRegexp(haikunate(delimiter=' ', tokenlength=0), "((?:[a-z][a-z]+))( )((?:[a-z][a-z]+))$")
예제 #46
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_hex_use(self):
     self.assertRegexp(haikunate(tokenhex=True),
                       "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(.{4})$")
예제 #47
0
 def test_customchars(self):
     self.assertRegexp(haikunate(tokenchars='A'), "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(AAAA)$")
예제 #48
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_default_use(self):
     self.assertRegexp(haikunate(),
                       "((?:[a-z][a-z]+))(-)((?:[a-z][a-z]+))(-)(\\d{4})$")
예제 #49
0
 def __init__(self, data, name=haikunator.haikunate(), env=LiterateEnvironment()):
     self.env = env
     self.name = name
     self.env.globals[self.name] = self
     super().__init__(data)
예제 #50
0
파일: tests.py 프로젝트: kahihia/Gigsgenei
 def test_wont_return_same(self):
     self.assertNotEqual(haikunate(), haikunate())