コード例 #1
0
import os

from metasdk import MetaApp
from metasdk.utils import pretty_json

META = MetaApp()
log = META.log

os.chdir(os.path.dirname(os.path.abspath(__file__)))
__DIR__ = os.getcwd() + "/"

reports = [
    "campaign_stats_report",
    "campaign_goal_stats_report",
    "campaign_calls_stats_report",
    "campaign_depth_stats_report",
    "campaign_orders_stats_report",
    "campaign_avg_depth_stats_report",
]

metaql = META.MetaqlService

for report_name in reports:
    resp = metaql.get_schema("adplatform", report_name)
    print(u"report_name = %s" % str(report_name))
    print("Schema:\n")
    print(pretty_json(resp))

log.info("end")
コード例 #2
0
import base64

from metasdk import MetaApp
from metasdk.utils import pretty_json

META = MetaApp(meta_url="http://localhost:8080")
log = META.log

#
# Вы можете установить ID пользователя, от лица которого будут работать запросы
# Это полезно, когда вам надо сгенерировать приватный файл в фоновом режиме.
# Это user_id вы можете передать и прочитать из поля data в task
#
META.auth_user_id = 3503

YOUR_FILE_CONTENT_BASE64 = base64.b64encode(b'Custom user file').decode("utf-8")
# Получаете инстанс сервиса и делаете запрос к нему
result = META.MediaService.persist_one(
    file_base64_content=YOUR_FILE_CONTENT_BASE64,
    filename="req.txt",
    extension="txt",
    mime="plain/text"
)
print(u"result = %s" % result)
# Формат ответа стандартный для меты
first = result['rows'][0]
print(u"result['rows'][0]['url'] = %s" % first['url'])
print(u"first = %s" % first)
print(u"result = %s" % pretty_json(result))
コード例 #3
0
destination_tbl_schema = "public"
destination_tbl_name = "prices_copy"

OUTFILE = __DIR__ + 'assets/out_' + source_tbl_name + '.tsv'


configuration = {
    "download": {
        "dbQuery": {
            "command": "SELECT * FROM " + source_tbl_schema + "." + source_tbl_name
        }
    }
}

schema_data = source_db.schema_data(configuration)
print(pretty_json(schema_data))
source_db.download_data(configuration, output_file=OUTFILE)

configuration = {
    "load": {
        "destinationTable": {
            "schema": destination_tbl_schema,
            "table": destination_tbl_name
        },
        "schema": schema_data['schema']
    }
}
upload_file = open(OUTFILE, 'rb')
destination_db.upload_data(upload_file, configuration)

t2 = datetime.now()
コード例 #4
0
             "engine"
        FROM global.campaigns
        WHERE "virtualCampaignId" > 0
        LIMIT 2
    """)
    for camp in camps:
        storage_db = META.db("garpun_storage", camp['account_id'])
        search_params = {"engine": camp['engine'], "camp_remote_id": camp['campaignRemoteId'],}
        res = storage_db.one("""
            SELECT count(1) as ads_cnt
            FROM #shard.ads
            INNER JOIN #shard."campaigns" c USING("campaignLocalId")
            INNER JOIN #shard."virtualCampaigns" vc USING("virtualCampaignId")
            WHERE vc.engine=:engine::"enum_engineType" AND c."campaignRemoteId"=:camp_remote_id
        """, search_params)
        camp.setdefault('counter', {})
        camp['counter']['ads'] = res['ads_cnt']

        res = storage_db.one("""
            SELECT count(1) as phrases_cnt
            FROM #shard."conditionsPhrases"
            INNER JOIN #shard.ads USING("adLocalId")
            INNER JOIN #shard."campaigns" c USING("campaignLocalId")
            INNER JOIN #shard."virtualCampaigns" vc USING("virtualCampaignId")
            WHERE vc.engine=:engine::"enum_engineType" AND c."campaignRemoteId"=:camp_remote_id
        """, search_params)
        camp['counter']['phrases'] = res['phrases_cnt']
    print(pretty_json(camps))
finally:
    log.info('finish')
コード例 #5
0
""")
# Выдаст None
print(u"u = %s" % u)

#
# Db.query
#
db_adplatform = META.db("adplatform")
dr = db_adplatform.query("""
    SELECT id, name, info
    FROM users
    WHERE name ILIKE 'Андре%'
    ORDER BY name
    LIMIT 1
""")
print(u"dr = %s" % pretty_json(dr))

for r in dr['rows']:
    print("\n")
    print(u"r['id'] = %s" % r['id'])
    print(u"r['name'] = %s" % r['name'])
    print(u"r['info'] = %s" % pretty_json(r['info']))

db_adhands_ui = META.db("adhands_ui")
dr = db_adhands_ui.query(
    """
    SELECT id, name
    FROM user
    WHERE name LIKE :uname
    AND id IN ( :ids )
    ORDER BY name