Exemple #1
0
def saveCardBusinessCard(jsCardBusinessCard, side, sideID=''):
    '''Save side businesscard info to a file, update index
    '''
    pseudoID = utils.getSidePseudoID(side)
    fname = saveResults2File(jsCardBusinessCard, pseudoID, 'card',
                             'businesscard')
    updateIndexForBusinessCard(pseudoID, fname, jsCardBusinessCard, sideID)
Exemple #2
0
def saveCardAccountingStat(jsCardAccountingStat, side):
    '''Save side accountingstat info to a file, update index
    '''
    SideId = utils.getSidePseudoID(side)
    fname = saveResults2File(jsCardAccountingStat, SideId, 'card',
                             'accountingstat')
    updateIndexForAccountingStatCard(SideId, fname, jsCardAccountingStat)
Exemple #3
0
def saveCardExcerpt(res, side):
    '''Save side doc (выписка из ЕГРЮЛ) to file, update index

    res: requests.Responce object with binary data
    '''
    SideId = utils.getSidePseudoID(side)
    fname = saveResults2File(res, SideId, 'card', 'excerpt', 'pdf')
    updateIndexForCardExcerpt(SideId, fname, None)
Exemple #4
0
def saveCardExcerpt(res, side):
    """Save side doc (выписка из ЕГРЮЛ) to file, update index

    res: requests.Responce object with binary data
    """
    SideId = utils.getSidePseudoID(side)
    fname = saveResults2File(res, SideId, "card", "excerpt", "pdf")
    updateIndexForCardExcerpt(SideId, fname, None)
Exemple #5
0
def saveCalendarPeriod(jsRes, side):
    '''Save side Calendar/Period info to a file, update index

    :param casebook.messages.JsonResponce jsRes: text to save
    :param dict side: side data from casebook.messages.JsonResponce
    '''
    sid = utils.getSidePseudoID(side)
    fname = saveResults2File(jsRes, sid, 'calendar', 'period')
    updateIndexForCalendarPeriod(sid, fname, jsRes)
Exemple #6
0
def saveSearchCases4Side(jsRes, side):
    '''Save side Search/Cases info to a file, update index

    :param casebook.messages.JsonResponce jsRes: text to save
    :param dict side: side data from casebook.messages.JsonResponce
    '''
    sid = utils.getSidePseudoID(side)
    fname = saveResults2File(jsRes, sid, 'search', 'cases4side')
    updateIndexForSearchCases4Side(sid, fname, jsRes)
Exemple #7
0
def saveCalendarPeriod(jsRes, side):
    """Save side Calendar/Period info to a file, update index

    :param casebook.messages.JsonResponce jsRes: text to save
    :param dict side: side data from casebook.messages.JsonResponce
    """
    sid = utils.getSidePseudoID(side)
    fname = saveResults2File(jsRes, sid, "calendar", "period")
    updateIndexForCalendarPeriod(sid, fname, jsRes)
Exemple #8
0
def saveSearchCases4Side(jsRes, side):
    """Save side Search/Cases info to a file, update index

    :param casebook.messages.JsonResponce jsRes: text to save
    :param dict side: side data from casebook.messages.JsonResponce
    """
    sid = utils.getSidePseudoID(side)
    fname = saveResults2File(jsRes, sid, "search", "cases4side")
    updateIndexForSearchCases4Side(sid, fname, jsRes)
Exemple #9
0
def collectSideData(session, side, deep=2):
    '''Collect all information for given side

    Sequence:
        card.accountingstat
        card.excerpt
        search.sidesdetailsex
        calendar.period
        card.bankruptcard
            case info for each case mentioned
        card.businesscard
            side info for each side mentioned
        search.cases2
            case info for each: todo?
        search.casesgj
            case info for each: todo?

    URLs:
        GET http://casebook.ru/api/Card/Excerpt
        GET http://casebook.ru/api/Search/SidesDetailsEx
        POST http://casebook.ru/api/Card/AccountingStat
        POST http://casebook.ru/api/Calendar/Period
        POST http://casebook.ru/api/Card/BankruptCard
        POST http://casebook.ru/api/Card/BusinessCard
        POST http://casebook.ru/api/Search/Cases
        POST http://casebook.ru/api/Search/CasesGj

    :param casebook.http.HttpSession session: HTTP session wrapper
    :param dict side: side data from casebook.messages.JsonResponce
    :param bool deep: recursion limit
    '''
    if deep <= 0:
        print u"collectSideData, end of recursion"
        return

    ShortName = sideShortName(side)
    sid = utils.getSidePseudoID(side)
    print "collectSideData, side short name: %s" % ShortName

    # check if we already get this side today
    if sideDataIsFresh(sid):
        print "collectSideData, side data downloaded already, nothing to do"
        return

    #~ отчетность POST http://casebook.ru/api/Card/AccountingStat
    #~ payload {"Organization":{"Address": ...
    __ = cardAccountingStat(session, side)

    #~ выписка из ЕГРЮЛ
    #~ GET http://casebook.ru/api/Card/Excerpt?Address= ...
    cardExcerpt(session, side)

    # доп.сведения
    # GET http://casebook.ru/api/Search/SidesDetailsEx?index=1&inn=1106014140&okpo=3314561
    __ = searchSidesDetailsEx(session, side)

    # расписание событий POST http://casebook.ru/api/Calendar/Period
    # payload {...,"Sides":[{"Name":"ДИРЕКЦИЯ
    __ = calendarPeriod(session, side)

    # что-то про банкротство, внутри тянет case info for each case mentioned
    # POST http://casebook.ru/api/Card/BankruptCard
    # payload {"Address":"169300, РЕСПУБЛИКА КОМИ...","Inn":"1106014140","Name":"ДИРЕКЦИЯ ...","Ogrn":"1021100895760","Okpo":"3314561","IsUnique":false,"OrganizationId":""}
    jsCardBankruptCard = cardBankruptCard(session, side)

    #~ карточка участника POST http://casebook.ru/api/Card/BusinessCard
    jsCardBusinessCard = cardBusinessCard(session, side)

    # поиск дел с участием стороны
    # POST http://casebook.ru/api/Search/Cases
    # payload {"StatusEx":[],"SideTypes":[],"ConsiderType":-1,"CourtType":-1,"CaseNumber":null,"CaseCategoryId":"","MonitoredStatus":-1,"Courts":[],"Instances":[],"Judges":[],"Delegate":"","StateOrganizations":[],"DateFrom":null,"DateTo":null,"SessionFrom":null,"SessionTo":null,"FinalDocFrom":null,"FinalDocTo":null,"MinSum":0,"MaxSum":-1,"Sides":[{"Name":"ДИРЕКЦИЯ ...","ShortName":"ТПП ...","Inn":"1106014140","Ogrn":"1021100895760","Okpo":"3314561","Address":"169300, РЕСП...","IsUnique":false,"IsOriginal":true,"IsBranch":true},{"Name":"ДИР...","ShortName":"ТПП ...","Inn":"1106014140","Ogrn":"1021100895760","Okpo":"3314561","IsUnique":false,"OrganizationId":0,"Address":"169300, РЕСП...","IsBranch":true}],"CoSides":[],"Accuracy":0,"Page":1,"Count":30,"OrderBy":"incoming_date_ts desc","JudgesNames":[]}
    __ = searchCases4Side(session, side)

    # поиск дел общей юрисдикции
    # POST http://casebook.ru/api/Search/CasesGj
    # payload {"CoSides":[],"Count":30,"DateFrom":null,"DateTo":null,"OrderBy":"incoming_date_ts desc","Page":1,"Sides":[{"Name":"ДИРЕКЦИЯ...","ShortName":"ТПП ...","Inn":"1106014140","Ogrn":"1021100895760","Okpo":"3314561","Address":"169300, РЕСП...","IsUnique":false,"IsOriginal":true,"IsBranch":true},{"Name":"ДИРЕКЦИЯ ...","ShortName":"ТПП ...","Inn":"1106014140","Ogrn":"1021100895760","Okpo":"3314561","IsUnique":false,"OrganizationId":0,"Address":"169300, РЕСП...","IsBranch":true}],"CaseTypeId":"","Courts":[]}
    __ = searchCasesGj4Side(session, side)

    stor.commit('sides', sid)

    bankruptCases = getCasesFromBancruptCard(jsCardBankruptCard)
    print "collectSideData, num of cases in bankruptCard: %s" % len(bankruptCases)
    for x in bankruptCases:
        case = utils.replaceNone(x)
        case[u"CaseId"] = case.get(u'Id', u'')
        print u"collectSideData, cardBankruptCard, goto case: %s" % case.get(u'Number', u'')
        # complex method, recursion
        collectCaseData(session, case, deep-1)

    businessSides = getSidesFromBusinessCard(jsCardBusinessCard)
    print "collectSideData, num of sides in businessCard: %s" % len(businessSides)
    for x in businessSides:
        bside = utils.replaceNone(x)
        print u"collectSideData, cardBusinessCard, goto side: %s" % sideShortName(bside)
        # complex method, get data recursively
        try:
            collectSideData(session, bside, deep-1)
        except casebook.RequestError:
            print u"collectSideData, cardBusinessCard, error while processing current side"
Exemple #10
0
def collectSideData(session, side, deep=2):
    '''Collect all information for given side

    Sequence:
        card.accountingstat
        card.excerpt
        search.sidesdetailsex
        calendar.period
        card.bankruptcard
            case info for each case mentioned
        card.businesscard
            side info for each side mentioned
        search.cases2
            case info for each: todo?
        search.casesgj
            case info for each: todo?

    URLs:
        GET http://casebook.ru/api/Card/Excerpt
        GET http://casebook.ru/api/Search/SidesDetailsEx
        POST http://casebook.ru/api/Card/AccountingStat
        POST http://casebook.ru/api/Calendar/Period
        POST http://casebook.ru/api/Card/BankruptCard
        POST http://casebook.ru/api/Card/BusinessCard
        POST http://casebook.ru/api/Search/Cases
        POST http://casebook.ru/api/Search/CasesGj

    :param casebook.http.HttpSession session: HTTP session wrapper
    :param dict side: side data from casebook.messages.JsonResponce
    :param bool deep: recursion limit
    '''
    if deep <= 0:
        print u"collectSideData, end of recursion"
        return

    ShortName = sideShortName(side)
    sid = utils.getSidePseudoID(side)
    print "collectSideData, side short name: %s" % ShortName

    # check if we already get this side today
    if sideDataIsFresh(sid):
        print "collectSideData, side data downloaded already, nothing to do"
        return

    #~ отчетность POST http://casebook.ru/api/Card/AccountingStat
    #~ payload {"Organization":{"Address": ...
    __ = cardAccountingStat(session, side)

    #~ выписка из ЕГРЮЛ
    #~ GET http://casebook.ru/api/Card/Excerpt?Address= ...
    cardExcerpt(session, side)

    # доп.сведения
    # GET http://casebook.ru/api/Search/SidesDetailsEx?index=1&inn=1106014140&okpo=3314561
    __ = searchSidesDetailsEx(session, side)

    # расписание событий POST http://casebook.ru/api/Calendar/Period
    # payload {...,"Sides":[{"Name":"ДИРЕКЦИЯ
    __ = calendarPeriod(session, side)

    # что-то про банкротство, внутри тянет case info for each case mentioned
    # POST http://casebook.ru/api/Card/BankruptCard
    # payload {"Address":"169300, РЕСПУБЛИКА КОМИ...","Inn":"1106014140","Name":"ДИРЕКЦИЯ ...","Ogrn":"1021100895760","Okpo":"3314561","IsUnique":false,"OrganizationId":""}
    jsCardBankruptCard = cardBankruptCard(session, side)

    #~ карточка участника POST http://casebook.ru/api/Card/BusinessCard
    jsCardBusinessCard = cardBusinessCard(session, side)

    # поиск дел с участием стороны
    # POST http://casebook.ru/api/Search/Cases
    # payload {"StatusEx":[],"SideTypes":[],"ConsiderType":-1,"CourtType":-1,"CaseNumber":null,"CaseCategoryId":"","MonitoredStatus":-1,"Courts":[],"Instances":[],"Judges":[],"Delegate":"","StateOrganizations":[],"DateFrom":null,"DateTo":null,"SessionFrom":null,"SessionTo":null,"FinalDocFrom":null,"FinalDocTo":null,"MinSum":0,"MaxSum":-1,"Sides":[{"Name":"ДИРЕКЦИЯ ...","ShortName":"ТПП ...","Inn":"1106014140","Ogrn":"1021100895760","Okpo":"3314561","Address":"169300, РЕСП...","IsUnique":false,"IsOriginal":true,"IsBranch":true},{"Name":"ДИР...","ShortName":"ТПП ...","Inn":"1106014140","Ogrn":"1021100895760","Okpo":"3314561","IsUnique":false,"OrganizationId":0,"Address":"169300, РЕСП...","IsBranch":true}],"CoSides":[],"Accuracy":0,"Page":1,"Count":30,"OrderBy":"incoming_date_ts desc","JudgesNames":[]}
    __ = searchCases4Side(session, side)

    # поиск дел общей юрисдикции
    # POST http://casebook.ru/api/Search/CasesGj
    # payload {"CoSides":[],"Count":30,"DateFrom":null,"DateTo":null,"OrderBy":"incoming_date_ts desc","Page":1,"Sides":[{"Name":"ДИРЕКЦИЯ...","ShortName":"ТПП ...","Inn":"1106014140","Ogrn":"1021100895760","Okpo":"3314561","Address":"169300, РЕСП...","IsUnique":false,"IsOriginal":true,"IsBranch":true},{"Name":"ДИРЕКЦИЯ ...","ShortName":"ТПП ...","Inn":"1106014140","Ogrn":"1021100895760","Okpo":"3314561","IsUnique":false,"OrganizationId":0,"Address":"169300, РЕСП...","IsBranch":true}],"CaseTypeId":"","Courts":[]}
    __ = searchCasesGj4Side(session, side)

    stor.commit('sides', sid)

    bankruptCases = getCasesFromBancruptCard(jsCardBankruptCard)
    print "collectSideData, num of cases in bankruptCard: %s" % len(
        bankruptCases)
    for x in bankruptCases:
        case = utils.replaceNone(x)
        case[u"CaseId"] = case.get(u'Id', u'')
        print u"collectSideData, cardBankruptCard, goto case: %s" % case.get(
            u'Number', u'')
        # complex method, recursion
        collectCaseData(session, case, deep - 1)
Exemple #11
0
def saveSearchSidesDetailsEx(jsRes, side):
    '''Save side Search/SidesDetailsEx info to a file, update index
    '''
    sid = utils.getSidePseudoID(side)
    fname = saveResults2File(jsRes, sid, 'search', 'sidesdetailsex')
    updateIndexForSidesDetailsEx(sid, fname, jsRes)
Exemple #12
0
def saveCardBusinessCard(jsCardBusinessCard, side, sideID=""):
    """Save side businesscard info to a file, update index
    """
    pseudoID = utils.getSidePseudoID(side)
    fname = saveResults2File(jsCardBusinessCard, pseudoID, "card", "businesscard")
    updateIndexForBusinessCard(pseudoID, fname, jsCardBusinessCard, sideID)
Exemple #13
0
def saveCardAccountingStat(jsCardAccountingStat, side):
    """Save side accountingstat info to a file, update index
    """
    SideId = utils.getSidePseudoID(side)
    fname = saveResults2File(jsCardAccountingStat, SideId, "card", "accountingstat")
    updateIndexForAccountingStatCard(SideId, fname, jsCardAccountingStat)
Exemple #14
0
def saveSearchSidesDetailsEx(jsRes, side):
    """Save side Search/SidesDetailsEx info to a file, update index
    """
    sid = utils.getSidePseudoID(side)
    fname = saveResults2File(jsRes, sid, "search", "sidesdetailsex")
    updateIndexForSidesDetailsEx(sid, fname, jsRes)