# coding: utf-8

import json
from java.text import SimpleDateFormat

def performChanges(context, xmlIn):
    u"""Функция проверки присутствия публикуемого файла в таблице QtiPackage"""
    
    u"""Курсор для таблицы проверки доступа"""
    web_service_access = webServiceAccessCursor(context)
    
    u"""Получение необходимых данных : PackageId, address, pin"""
    data = json.loads(xmlIn)
       
    u"""Получение служебных параметров соединения (задаются в grainsettings)"""
    address = data['params']['address']
    pin = data['params']['pin']
    
    u"""Проверка полученных служебных параметров соединения"""
    if web_service_access.tryGet(address, pin):
        pass
    else:
        u"""Отсутствие полученных параметров в бд
        Ничего не делаем"""
        return None
    
    package = QtiPackageCursor(context)
    simpleFormat = SimpleDateFormat()
    
    u"""Получение дополнительной информации о записи"""
    packageId = data["info"]["packageId"]
    packageName = data["info"]["packageName"]
    packageStatus = data["info"]["packageStatus"]
    dateCreated = data["info"]["dateCreated"]
    u"""Получение информации о произведенном дейсвтии"""
    action = data["info"]["action"]
    
    u"""Выполнение запрошенного действия"""
    if action == "Delete":
        package.get(packageId)
        package.delete()
    else:
        package.PackageID = packageId
        package.PackageName = packageName
        package.Status = packageStatus
        package.DateCreated = simpleFormat.parse(dateCreated)
        
        if action == "Insert":
            package.insert()
        elif action == "Edit":
            package.update()
    
    
