Um auxilio a quem usa o "Griffith"

CretoCreto Paulo Benedito
editado maio 2014 em Dicas e Truques
Olá a todos,

Auxiliei uma usuária no Fórum Ubuntu - BR sobre o software o [url=http://pkgs.org/ubuntu-14.04/ubuntu-universe-i386/griffith_0.13-3_all.deb.html]Griffith[/url] e achei pertinente postar aqui para alguém que use este software que na verdade, vos digo que nem sei ao certo para que serve.

Mas há um BUG para o uso nos ubuntu's atuais 14.04 e por isso mostro aqui a solução encontrada nesta [url=http://ubuntuforum-br.org/index.php/topic,112973.msg625595.html#msg625595]mensagem aqui[/url]

=== Edição para inserir os procedimentos ===

Depois de instalado o Griffith, provavelmente ao tentar abri-lo você não irá conseguir e se for abrir via terminal digitando: griffith.

Aparecerá erro, com isso siga os passos abaixo:

- Abra seu gerenciador de arquivos como super usuário com [b]Alt+F2[/b] gksudo ou kdesudo mais o nome do gerenciador nativo para sua distro, depois vá até:

[b]/usr/share/griffith/lib/db[/b]

Dentro dessa pasta apague ou abra com um editor de textos avançado (gedit, kate) o seguinte arquivo:

[b]validators.py[/b]

Nele copie o código abaixo ou crie um com o mesmo nome (é claro depois de deletar o antigo):
PS: Como acho que o [ c o d e } aqui ainda está com problema, vai de outra forma.
[quote]# -*- coding: UTF-8 -*-
# vim: fdm=marker
__revision__ = '$Id$'

# Copyright © 2011
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

# You may use and distribute this software under the terms of the
# GNU General Public License, version 2 or later

import logging

from sqlalchemy.orm.interfaces import AttributeExtension
try:
# sql alchemy 0.8 (and above)
from sqlalchemy.ext.instrumentation import InstrumentationManager
except:
# sql alchemy 0.7
from sqlalchemy.orm.interfaces import InstrumentationManager
from sqlalchemy.orm import ColumnProperty
from sqlalchemy.types import String

use_pre_07 = False
try:
from sqlalchemy import event
except:
use_pre_07 = True

log = logging.getLogger('Griffith')

class InstallValidatorListeners(InstrumentationManager):
def post_configure_attribute(self, class_, key, inst):
if use_pre_07:
self.post_configure_attribute_pre_07(class_, key, inst)
else:
self.post_configure_attribute_07(class_, key, inst)

def post_configure_attribute_07(self, class_, key, inst):
"""Add validators for any attributes that can be validated."""
# SQLAlchemy >= 0.7 (using events)
prop = inst.prop
# Only interested in simple columns, not relations
if isinstance(prop, ColumnProperty) and len(prop.columns) == 1:
col = prop.columns[0]
# if we have string column with a length, install a length validator
if isinstance(col.type, String) and col.type.length:
event.listen(inst, 'set', LengthValidator(col.name, col.type.length).set, retval=True)

def post_configure_attribute_pre_07(self, class_, key, inst):
"""Add validators for any attributes that can be validated."""
# SQLAlchemy < 0.7 (using extensions)
prop = inst.prop
# Only interested in simple columns, not relations
if isinstance(prop, ColumnProperty) and len(prop.columns) == 1:
col = prop.columns[0]
# if we have string column with a length, install a length validator
if isinstance(col.type, String) and col.type.length:
inst.impl.extensions.insert(0, LengthValidator(col.name, col.type.length))


class ValidationError(Exception):
pass


class LengthValidator(AttributeExtension):
def __init__(self, name, max_length):
self.name = name
self.max_length = max_length

def set(self, state, value, oldvalue, initiator):
if value and len(value) > self.max_length:
# can be changed so that an exception is raised which can be shown in UI
# but at the moment an exception is silently lost, only written to console
#raise ValidationError("Length %d exceeds allowed %d for %s" %
# (len(value), self.max_length, self.name))
log.warning("Length %d exceeds allowed %d for %s; truncating value" %
(len(value), self.max_length, self.name))
return value[0:self.max_length]
return value
[/quote]

Tem mais arquivos indicados por lá, porém como era primeiro para que o programa abrisse esta ai.

Os outros links são também para mais arquivos de configuração do Griffith, para isso basta visitar o tópico indicado no link abaixo:

Fonte: [url=http://www.espaciolinux.com/foros/software/solucion-griffith-resolucion-busqueda-imdb-ubuntu-t51882.html]Espacio Linux[/url]

Espero que seja útil de alguma forma ao fórum.

T+

Comentários

  • editado maio 2014
    [quote]
    Creto wrote:
    Olá a todos,

    Auxiliei uma usuária no Fórum Ubuntu - BR sobre o software o [url=http://pkgs.org/ubuntu-14.04/ubuntu-universe-i386/griffith_0.13-3_all.deb.html]Griffith[/url] e achei pertinente postar aqui para alguém que use este software que na verdade, vos digo que nem sei ao certo para que serve.

    Mas há um BUG para o uso nos ubuntu's atuais 14.04 e por isso mostro aqui a solução encontrada nesta [url=http://ubuntuforum-br.org/index.php/topic,112973.msg625595.html#msg625595]mensagem aqui[/url]

    Espero que seja útil de alguma forma ao fórum.

    T+[/quote]

    Boa dica, Creto.

    Estou movendo-a para a sala Dicas e truques de forma a facilitar a visualização pelos colegas que por acaso venham a passar pelo mesmo problema.

    Abraço e fique com Deus.
  • CretoCreto Paulo Benedito
    editado maio 2014
    Tópico atualizado com os procedimentos

    Quem sabe, até a próxima dica que o Creto encontrar por ai ;-)

    T+
  • LetrexLetrex Leandro
    editado maio 2014
    Olá Creto. Estou com esse mesmo problema. Acontece que não entendi quando você escreveu: "Abra seu gerenciador de arquivos como super usuário com Alt+F2 gksudo ou kdesudo mais o nome do gerenciador nativo para sua distro, "
    Entrei na pasta mas não consigo apagar ou alterar o arquivo. Como faço para abrir como super usuário?
Entre ou Registre-se para fazer um comentário.