Ejemplo n.º 1
0
    def stock_amoutn(self, startDate, endDate):
        '''
        This function returns 2 lists including;
            -Gas day informatin as first item.
            -Pipe stock amount values as second item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp-transmission/actualization?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        day_list = []
        pipe_stock = []

        for item in response_list:
            day_list.append(item['gasDay'])
            pipe_stock.append(item['pipeStock'])

        return day_list, pipe_stock
Ejemplo n.º 2
0
    def transaction_history(self, startDate, endDate):
        '''
        This function returns a dictionary including;
            -contractName
            -id
            -mathcingDate
            -price
            -quantity

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/transaction-history?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 3
0
    def production_total_official(self, startDate, endDate):
        '''
        This function returns two lists including;
            -Datetime information.
            -Officially aproved total production amount.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        Note:
        '''
        val.date_check(startDate, endDate)

        query = "production/ssv?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        date_list = []
        prod_list = []

        for item in response_list:
            date_list.append(item['date'])
            prod_list.append(item['ssv'])

        return date_list, prod_list
Ejemplo n.º 4
0
    def orangecode(self, startDate, endDate):
        '''
        This function returns a dictionary including;
            -amount
            -contractGasDay
            -contractName
            -gasDay
            -transactionDate
            -weightedAverage

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/orangecode-operation?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 5
0
    def real_time_gen_renewabales(self, startDate, endDate):
        '''
        This function returns a dictionary including following information;
            -Biogas
            -Biomass
            -CanalType
            -Date
            -Geothermal
            -Lfg
            -Others
            -Reservoir
            -RiverType
            -Sun
            -Total
            -Wind

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "production/renewable-sm-licensed-real-time-generation?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 6
0
    def quantitiy_matched(self, startDate, endDate):
        '''
        This function returns a dictionary including;
            -contractMatchingQuantity
            -contractName
            -dayAfterMatchingQuantity
            -dayAheadMatchingQuantity
            -gasDay
            -gasReferenceMatchingQuantity
            -intraDayMatchingQuantity

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/matching-quantity?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 7
0
    def unit_cost_fit(self, startDate, endDate):
        '''
        This function returns 3 lists including;
            -Unit Cost values as first item.
            -Version date information as second item.
            -Period date information as third item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "production/renewable-sm-unit-cost?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        unit_cost_list = []
        version_list = []
        period_list = []

        for x in range(len(response_list)):
            unit_cost_list.append(response_list[x]['unitCost'])
            version_list.append(response_list[x]['id']['donem'])
            period_list.append(response_list[x]['id']['versiyon'])

        return unit_cost_list, version_list, period_list
Ejemplo n.º 8
0
    def imbalance_montly(self, startDate, endDate):
        '''
        This function returns a dictionary including;
            -negativeImbalance
            -negativeImbalanceTradeValue
            -period
            -positiveImbalance
            -positiveImbalanceTradeValue
            -type

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/imbalance-monthly?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 9
0
    def generation_official_unlicenced_fit(self, startDate, endDate):
        '''
        This function returns a dictionary including following information;
            -Date
            -Total
            -Wind
            -Biogas
            -CanalType
            -Biomass
            -Sun
            -Others

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "production/renewable-unlicenced-generation-amount?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 10
0
    def fit_cost_total(self, startDate, endDate):
        '''
        This function returns a dictionary including following information;
            -LicenseExemptCost
            -Period
            -PortfolioIncome
            -ReneablesCost (RenewableCost **There is a typo in the response)
            -RenewablesTotalCost
            -UnitCost

            
        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "production/renewables-support?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 11
0
    def trade_value(self, startDate, endDate):
        '''
        This function returns a dictionary including;
            -contractName
            -contractTradeValue
            -dayAfterTradeValue
            -dayAheadTradeValue
            -gasDay
            -gasReferenceTradeValue
            -intraDayTradeValue

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/trade-value?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 12
0
    def bpm_orders(self, startDate, endDate):

        '''
        This function returns a dictionary including;
            -Date information.
            -Net position amount.
            -Zero coded up regulation amount.
            -One coded up regulation amount.
            -Two coded up regulation amount.
            -Zero coded down regulation amount.
            -One coded down regulation amount.
            -Two coded down regulation amount.
            -System direction information.
            -Next hour infromation as datetime.


        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "market/bpm-order-summary?startDate="+f'{startDate}'+"&endDate="+f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[1]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 13
0
    def back_charge(self, startDate, endDate):
        '''
        This function returns a dictionary including following information;
            -Back charge credit amount (gddk Credit Amount)
            -Back charge debt amount (gddkDebtAmount)
            -Net back charge amount (gddkNetAmount)

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "production/gddk-amount?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 14
0
    def daily_production_plan_total(self, startDate, endDate):
        '''
        This function returns a dictionary including following information;
            -Date infromation.
            -Total Daily production plan for specified datetime.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "production/final-dpp?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 15
0
    def balancing_gas_price(self, startDate, endDate):
        '''
            This function returns a dictionary including;
                -additionalBalancingPurchase
                -additionalBalancingSale
                -balancingGasPurchase
                -balancingGasSale
                -finalAbp
                -finalAbs
                -finalBgp
                -finalBgs
                -gasDay


            Parameters:

            startDate: Start date in YYYY-MM-DD format.
            endDate: End date in YYYY-MM-DD format.

            '''

        val.date_check(startDate, endDate)

        query = "stp/balancing-gas-price?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 16
0
    def block_offer_prices(self, startDate, endDate):
        '''
        This function returns a dictionary which includes the following information;
            -Date
            -Minimum ask price
            -Maximum ask pirce
            -Minimum bid price
            -Maximum bid pirce
            -Minimum matched price
            -Maximum matched price


        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        Warning! For hourly offer values look for hourly_offer_prices

        '''
        val.date_check(startDate, endDate)

        query = "market/intra-day-min-max-price?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}' + "&offerType=BLOCK"

        json_result = self.get_request_result(query)

        response_list = json_result['body']

        return response_list
Ejemplo n.º 17
0
    def income_intraday(self, startDate, endDate):
        '''
        This function returns 2 lists including;
            -Date list for specified range of date as first item.
            -Intraday income values for specified range of date as second item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "market/intra-day-aof?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        date_list = []
        income_list = []

        for item in response_list:
            date_list.append(item['date'])
            income_list.append(item['income'])

        return date_list, income_list
Ejemplo n.º 18
0
    def zero_balance(self, startDate, endDate):
        '''
        This function returns 2 lists including;
            -Gas day date information as first item.
            -Zero balance amount as second item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/zero-balance?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        zero_b_list = []
        g_day_list = []

        for item in response_list:
            zero_b_list.append(item['zeroBalance'])
            g_day_list.append(item['gasDay'])

        return g_day_list, zero_b_list
Ejemplo n.º 19
0
    def daily_production_plan(self,
                              startDate,
                              endDate,
                              orgEic=None,
                              uevcbEic=None):
        '''
        This function returns a dictionary including following information;
            -Date (tarih)
            -Hour (saat)
            -Total (toplam)
            -Natural Gas (dogalgaz)
            -Wind (ruzgar)
            -Brown Coal (linyit)
            -Bituminous Coal (tasKomur)
            -Import Coal (ithalKomur)
            -Fuel (fuelOil)
            -Geothermal (jeotermal)
            -Dam (barajli)
            -Naphtha-based (nafta)
            -Biomass (biokutle)
            -River (akarsu)
            -Other (diger)

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.
        orgEic (Optional): Organization EIC Code information e.g: 40X000000003585Y.
        uevcbEic (Optional): Organization EIC Code information e.g: 40W000000026808R.

        Note: For certain power plant availability information, both orgEic and uevcbEic parameters should pass as an argument.

        '''
        val.date_check(startDate, endDate)

        if orgEic == None and uevcbEic != None:
            raise Exception(
                'Please provide organization eic cide with uevbEic code to get plant availability informaton'
            )
        else:
            pass

        val.uevcb_eic_check(uevcbEic)
        val.org_eic_check(orgEic)

        query = "production/dpp?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}' + "&organizationEIC=" + f'{orgEic}' + "&uevcbEIC=" + f'{uevcbEic}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 20
0
    def price_daily(self, startDate, endDate):
        '''
        This function returns 7 lists including;
            -Gas day informatin as first item.
            -Contract name information as second item.
            -Intraday price values as third item.
            -Day after price values as fourth item.
            -Dayahead price values as fifth item.
            -Weighted Average price values as sixth item.
            -Gas reference price values as seventh item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/daily-price?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        day_list = []
        contract_list = []
        intraday_list = []
        dayAfter_list = []
        dayahead_list = []
        wavg_list = []
        gas_ref_price = []

        for item in response_list:
            day_list.append(item['gasDay'])
            contract_list.append(item['contractName'])
            intraday_list.append(item['intraDayPrice'])
            dayAfter_list.append(item['dayAfterPrice'])
            dayahead_list.append(item['dayAheadPrice'])
            wavg_list.append(item['weightedAverage'])
            gas_ref_price.append(item['gasReferencePrice'])

        return day_list, contract_list, intraday_list, dayAfter_list, dayahead_list, wavg_list, gas_ref_price
Ejemplo n.º 21
0
    def contract_amount(self, startDate, endDate, date=None):
        '''
        This function returns 5 lists including;
            -Gas day informatin as first item.
            -Matched quantitiy amount as second item.
            -Period information as third item.
            -Period Type information  as fourth item.
            -Trade volume amount as fifth item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.
        date (Optional): Specific date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        if date != None:
            val.date_format_check(date)
        else:
            pass

        query = "stp/bluecode-operation?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}' + "&period=" + f'{date}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        day_list = []
        matched_list = []
        period_list = []
        periodType_list = []
        trade_list = []

        for item in response_list:
            day_list.append(item['gasDay'])
            matched_list.append(item['matchingQuantity'])
            period_list.append(item['period'])
            periodType_list.append(item['periodType'])
            trade_list.append(item['tradeValue'])

        return day_list, matched_list, period_list, periodType_list, trade_list
Ejemplo n.º 22
0
    def greencode(self, startDate, endDate):
        '''
        This function returns 6 lists including;
            -Gas day informatin as first item.
            -Contract name information as second item.
            -Amount values (x1000 sm3) values as third item.
            -Weigthed average values as fourth item.
            -Transaction date information as fifth item.
            -Contract name information as sixth item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/greencode-operation?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        day_list = []
        amount_list = []
        contract_list = []
        wavg_list = []
        transactiondate_list = []
        c_day_list = []

        for item in response_list:
            day_list.append(item['gasDay'])
            contract_list.append(item['contractName'])
            amount_list.append(item['amount'])
            wavg_list.append(item['weightedAverage'])
            transactiondate_list.append(item['transactionDate'])
            c_day_list.append(item['contractGasDay'])

        return day_list, contract_list, amount_list, wavg_list, transactiondate_list, c_day_list
Ejemplo n.º 23
0
    def price_reference(self, startDate, endDate, date=None):
        '''
        This function returns 4 lists including;
            -Gas day informatin as first item.
            -Period information as second item.
            -Period type as third item.
            -Reference price values as fourth item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.
        date (Optional): Specific date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        if date != None:
            val.date_format_check(date)
        else:
            pass

        query = "stp/grf?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}' + "&period=" + f'{date}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        day_list = []
        period_list = []
        price_list = []
        p_type = []

        for item in response_list:
            day_list.append(item['gasDay'])
            period_list.append(item['period'])
            price_list.append(item['price'])
            p_type.append(item['periodType'])

        return day_list, period_list, p_type, price_list
Ejemplo n.º 24
0
    def get_holidays(self, startDate, endDate):

        print('Warning! Holidays date range is between 2016 and 2020. Date range will be updated in future')

        holidaysTR = {'Date':["2016-01-01","2016-04-23","2016-05-01","2016-05-19","2016-07-04","2016-07-05","2016-07-06","2016-07-07","2016-08-30","2016-09-11","2016-09-12","2016-09-13","2016-09-14","2016-09-15","2016-10-28","2016-10-29","2017-01-01","2017-04-23","2017-05-01","2017-05-19","2017-06-24","2017-06-25","2017-06-26","2017-06-27","2017-07-15","2017-08-30","2017-08-31","2017-09-01","2017-09-02","2017-09-03","2017-09-04","2017-10-28","2017-10-29","2018-01-01","2018-04-23","2018-05-01","2018-05-19","2018-06-14","2018-06-15","2018-06-16","2018-06-17","2018-07-15","2018-08-20","2018-08-21","2018-08-22","2018-08-23","2018-08-24","2018-08-30","2018-10-28","2018-10-29","2019-01-01","2019-04-23","2019-05-01","2019-05-19","2019-06-03","2019-06-04","2019-06-05","2019-06-06","2019-07-15","2019-08-10","2019-08-11","2019-08-12","2019-08-13","2019-08-14","2019-08-30","2019-10-28","2019-10-29","2020-01-01","2020-04-23","2020-05-01","2020-05-19","2020-05-23","2020-05-24","2020-05-25","2020-05-26","2020-07-15","2020-07-30","2020-07-31","2020-08-01","2020-08-02","2020-08-03","2020-08-30","2020-10-28","2020-10-29"],
              'Days':[1,23,1,19,4,5,6,7,30,11,12,13,14,15,28,29,1,23,1,19,24,25,26,27,15,30,31,1,2,3,4,28,29,1,23,1,19,14,15,16,17,15,20,21,22,23,24,30,28,29,1,23,1,19,3,4,5,6,15,10,11,12,13,14,30,28,29,1,23,1,19,23,24,25,26,15,30,31,1,2,3,30,28,29],
              'Holidays':["Bank Holiday","Bank Holiday","Bank Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Religious Holiday","Eve","Bank Holiday","Bank Holiday","Bank Holiday","Bank Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Bank Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Religious Holiday","Eve","Bank Holiday","Bank Holiday","Bank Holiday","Bank Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Religious Holiday","Bank Holiday","Eve","Eve","Bank Holiday","Bank Holiday","Bank Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Religious Holiday","Bank Holiday","Eve","Bank Holiday","Bank Holiday","Bank Holiday","Bank Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Bank Holiday","Eve","Religious Holiday","Religious Holiday","Religious Holiday","Religious Holiday","Bank Holiday","Eve","Bank Holiday"] }

        val.date_check(startDate,endDate)

        # date list range check for parameters should be added
        date_list = []
        holiday_list = []
        for d_index, dates in enumerate(holidaysTR['Date']):
            if startDate <= dates <= endDate:
                date_list.append(dates)
                holiday_list.append(holidaysTR['Holidays'][d_index])

        return date_list, holiday_list
Ejemplo n.º 25
0
    def price_mobile(self, startDate, endDate):
        '''
        This function returns 5 lists including;
            -Balancing gas purchase amount as first item.
            -Balancing gas sale amount as second item.
            -Gas reference price values as third item.
            -Gas day information as fourth item.
            -Imbalance amount as sixth item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/mobile/price?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        b_purch_list = []
        b_sale_list = []
        gas_refp_list = []
        day_list = []
        imb_list = []

        for item in response_list:
            b_purch_list.append(item['balancingGasPurchase'])
            day_list.append(item['gasDay'])
            b_sale_list.append(item['balancingGasPurchase'])
            gas_refp_list.append(item['otherQuantity'])
            imb_list.append(item['imbalance'])

        return b_purch_list, b_sale_list, gas_refp_list, day_list, imb_list
Ejemplo n.º 26
0
    def plant_notifications(self, startDate, endDate):
        '''
        This function returns a dictionary including following information;
            -CapacityAtCaseTime
            -CaseAddDate
            -CaseEndDate
            -CaseStartDate
            -CaseVaguenessTime
            -City
            -CityId
            -FaultDetails
            -FuelType
            -FuelTypeId
            -Id
            -MessageType
            -OperatorPower
            -PowerPlantName
            -Reason
            -Region
            -UevcbName
            -validityStatus

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "production/urgent-market-message?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 27
0
    def real_time_gen(self, startDate, endDate):
        '''
        This function returns a dictionary including following information;
            -Biomass
            -BlackCoal
            -DammedHydro
            -Date
            -Fueloil
            -GasOil
            -Geothermal
            -ImportCoal
            -ImportExport
            -Lignite
            -Lng
            -Naphta
            -NaturalGas
            -Nuclear (Nucklear **There is a typo on the response)
            -River
            -Sun
            -Total
            -Wind

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''
        val.date_check(startDate, endDate)

        query = "production/real-time-generation?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        return response_list
Ejemplo n.º 28
0
    def hourly_quantities(self, startDate, endDate):
        '''
        This function returns 3 lists including;
            -Effective date information as first item.
            -Hourly sell quantities as second item. 
            -Hourly buy quantities as third item.


        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        Warning! For block offer values look for block_offer_prices
    
        '''
        val.date_check(startDate, endDate)

        query = "market/intra-day-min-max-price?startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        response_list = json_result['body']

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        date_list = []
        sell_quantity = []
        buy_quantity = []

        for item in response_list:
            date_list.append(item['effectiveDate'])
            sell_quantity.append(item['blockPurchaseQuantity'])
            buy_quantity.append(item['blockSaleQuantity'])

        return date_list, sell_quantity, buy_quantity
Ejemplo n.º 29
0
    def notification_additional(self, startDate, endDate):
        '''
            This function returns 4 lists including;
                -Date informatin as first item.
                -Id information as second item.
                -Message information as third item.
                -Subject information as fourth item.

            Parameters:

            startDate: Start date in YYYY-MM-DD format.
            endDate: End date in YYYY-MM-DD format.

            '''

        val.date_check(startDate, endDate)

        query = "stp/additional-notification?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        date_list = []
        message_list = []
        subject_list = []
        id_list = []

        for item in response_list:
            date_list.append(item['date'])
            message_list.append(item['messageEn'])
            subject_list.append(item['subjectEn'])
            id_list.append(item['id'])

        return date_list, id_list, message_list, subject_list
Ejemplo n.º 30
0
    def price_stp(self, startDate, endDate, price_type=None):
        '''
        This function returns 4 lists including;
            -Gas day information as first item.
            -Price values as second item.
            -Price type information as third item.
            -State information as fourht item.

        Parameters:

        startDate: Start date in YYYY-MM-DD format.
        endDate: End date in YYYY-MM-DD format.

        '''

        val.date_check(startDate, endDate)

        query = "stp/price?" + "startDate=" + f'{startDate}' + "&endDate=" + f'{endDate}' + "&priceType=" + f'{price_type}'

        json_result = self.get_request_result(query)

        key_list = list(json_result['body'].keys())

        key_name = key_list[0]

        response_list = json_result['body'][f'{key_name}']

        g_day_list = []
        price_list = []
        priceType_list = []
        state_list = []

        for item in response_list:
            g_day_list.append(item['gasDay'])
            price_list.append(item['price'])
            priceType_list.append(item['priceType'])
            state_list.append(item['state'])

        return g_day_list, price_list, priceType_list, state_list