Início > Gambiarras > Solução para o 9º dígito no Symbian

Solução para o 9º dígito no Symbian

(Última atualização: 10/08/2012 11:47: Nova versão! Confira o changelog! https://gist.github.com/3195031)

(29/07/2012 23:33: Achei importante dizer que este procedimento é agnóstico ao Symbian apesar de ter sido criado com foco nele. Qualquer sistema que permita que você exporte seus contatos como VCF / vCards [Outlook por exemplo] pode ter o auxílio do script.)

Então a Anatel decidiu que todos os celulares da região metropolitana teriam 9 dígitos, aumentando o número de combinações de cerca de 44 milhões para 90 milhões.

Até aí tudo bem. Acho até chique falar “999-999-999” como os norte-americanos falam.

O problema é que sou usuário Symbian e não encontrei nenhuma app que faça isso pra mim. Até entendo os motivos: programar para Symbian dá preguiça e no meu caso, a preguiça envolve até abrir a IDE pra isso. Sem falar que hoje em dia, ou é Android ou é iOS. Maemo e Windows Phone só vão entrar na disputa por um golpe de sorte, essa é a real. Escolha um de cada lado sabendo que um vai encher sua barriga e outro será seu hobby.

Voltando ao artigo.

Lembro-me que há alguns anos, quando da entrada da Oi em São Paulo, foi decidido que todos os números residenciais de prefixo 6xxx se tornariam 2xxx e os 6xxx seriam da Oi. Na época eu tinha um Nokia 6275. Imaginem a preguiça que me deu ao pensar que eu teria que editar todos os contatos naquele teclado. Sorte que o Nokia PC Suite exportava os contatos em formato CSV. Um script simples em PHP verificava os números e aplicava a mudança de acordo com a regra.

Agora eu tenho um 5800 e preciso fazer essa adição do nono dígito (aposto que se você chegou aqui, precisa também). Mesmo com esse plus que é ter touch screen e um teclado moderadamente confortável na tela, ainda dá  uma baita preguiça pensar em varrer todos os contatos e fazer as alterações.

Symbian… Sem app “9dígito.sisx”… Sem suporte da Nokia pra dar uma mãozinha. Acho que é aí que deve entrar a gambiarra. Digo, tenho certeza.

Mão na massa!

Você vai precisar de:

  • Nokia Suite atualizado
  • Ruby1.9.3 (download)
  • O script mágico sym9.rb (download)

Uma vez instalado o ruby e atualizado o Nokia Suite, conecte seu celular ao Nokia Suite – seja via cabo USB ou Bluetooth – e faça a sincronização dos contatos. Se houver conflitos (dados diferentes no PC e no celular por conta de sincronizações anteriores), esse é o momento para resolvê-los.

Exporte os contatos  (você deve clicar em Todas, clicar na lista e pressionar Ctrl+A antes). Para cada contato será criado um arquivo VCF com todas as informações dele e o mais importante, seus números. Escolha uma pasta qualquer e salve. Também faça uma cópia de backup desta pasta para outro lugar – para caso algo dê errado, sabe?

Copie o conteúdo do script e salve nessa pasta. Abra um console (Iniciar > Executar > cmd <enter>). Digite cd <caminho da pasta>.

Digite gem install vcard (isso irá instalar um componente que não é da minha autoria, mas necessário para o funcionamento do script).

Chegado o momento, execute ruby sym9.rb no console. Ele vai te fazer algumas perguntas como o modo como você prefere que sejam feitas as alterações, seu DDD e qual o formato de saída do número.

Se você escolher o DDD 11, ele também te pergunta se você quer prefixar (11) nos números locais. Se você escolher outro DDD, ele te pergunta se deseja inserir um código de operadora de longa distância (0xx11). Neste caso, respondendo 0 ou não respondendo, ele somente vai manter o código dos números que já possuem. É importante que você digite o DDD correto, porque o script assume que os números sem DDD são do seu DDD.

Para o modo são 3 opções:

  • 1 – Totalmente automática – atualiza todos os contatos com prefixos 5xxx a 9xxx
  • 2 – Semi-automática – atualiza todos os contatos com prefixos 6xxx a 9xxx mas pergunta o que fazer com os 5xxx e 78xx (ainda existem telefones fixos com esse prefixo; o 78xx é usado pela Nextel e Oi)
  • 3 – Manual – pergunta o que fazer para todos os contatos com prefixos 5xxx a 9xxx

Para o formato, outras 5 opções:

  • 1 – Não alterar
  • 2 – 98765-4321
  • 3 – 9876-54321
  • 4 – 987-654-321
  • 5 – 9-8765-4321

Observação sobre os formatos: o meu 5800 não aceita parênteses e hífens de contatos importados, apesar deles aparecerem formatados no gerenciador do Nokia Suite e eu ter alguns contatos no aparelho com estes caracteres. Não sei dizer se a formatação é suportada por  outros aparelhos.

Finalizada a varredura, os vCards foram atualizados de acordo com suas preferências. Você agora pode importar os vCards no Nokia Suite e fazer uma verificação visual. Tudo certo? Hora de aplicar as mudanças no celular através da sincronização.

Caso haja duplicação de contatos, apague os contatos do celular e do Nokia Suite e refaça a importação/sincronização. Não gostou do resultado? Importe os contatos da pasta de backup.

Por ser um procedimento experimental, não me responsabilizo se houver algum erro e você corromper seus contatos, por isso a recomendação do backup.

Funcionou direitinho? Rolou algum bug? Erros estranhos? Dúvidas? O script não reconheceu algum número? Comente!

Fique de olho nas atualizações deste post. Quando houver uma atualização, a recomendação é que você refaça o procedimento usando uma cópia do seu backup.

Anúncios
  1. 31/07/2012 às 01:35

    Mendel, excelente trabalho, mas atenção aos prefixos 70, 77, 78 e 79, que são de Nextel e não receberão o 9 à frente e infelizmente como para tudo há exceções, há números da Oi que começam com 78 que irão receber o 9

    • 31/07/2012 às 11:42

      Obrigado pela contribuição, Maurício! Em algumas horas publicarei uma versão que suporte essas regras. Abraço!

  2. Jose Carlos
    31/07/2012 às 12:50

    Não consegui, criei uma uma pasta em c: que chamei de teste para receber os contatos vcr mas à partir daí não consegui saber como nem onde instalar os programas

    • 31/07/2012 às 13:09

      José, os programas podem ser instalados em qualquer local. Somente o sym9.rb que deve ir na mesma pasta dos contatos. Abraço

    • Jose Carlos
      04/08/2012 às 16:36

      Mendel, boa tarde! Obrigado pela dica, Refiz os passos e vi onde eu estava errando, consegui atualizar a minha lista, vlw pela dica abr José Carlos

  3. Jorge
    01/08/2012 às 14:56

    Na minha aparentemente rodou normalmente, mas somente alguns contatos foram atualizados, outros mesmo começando com o range de 6 a 9 não foram alterados.

    • 01/08/2012 às 15:23

      Acredito que eles estejam em um formato que o script não conseguiu identificar. Pode me mandar algumas amostras dos formatos desses números? Abraço

  4. Carlos Luizetto
    02/08/2012 às 00:30

    Caro Mendel,

    seu produto é ÓTIMO.
    acho que única, e não restritiva ao Symbian e de ampla utilização para praticamente para todas as agendas, não só de celulares e Palm existentes, que permitem exportar e importar os dados no padrão VCF.

    Sua abordagem para os telefones celulares que iniciam com 5 – sensacional!!
    Fácil operação.
    Clara.
    A sacada da opção passo a passo foi visionaria.
    Tive alguns problemas e graças a você, foi fácil identificar,
    pois no meu caso elas ocorreram somente quando os nomes
    possuem acentuação grave ou aguda.
    Quando possuem TIL ” ~ ” foi perfeito.
    Bastou alterar os nomes nestas condições e tudo ocorreu perfeitamente.

    Gostaria de pedir uma opção de acrescentar ou manter o zero na frente dos números,
    pois no meu caso, operadora Claro,
    mantenho meus números no seguinte padrão:
    ZOOAAPPPPSSSS
    onde
    Z = zero
    OO = código da operadora
    AA = código de área (DDD)
    PPPP = prefixo
    SSSS = sufixo

    no caso do meu celular E7 Nokia,
    o sistema não permite acrescentar parêntesis ou hífen,
    mas acho que em outros sistemas sim.
    Sua ideia de novo ótima.
    Se meu celular aceitasse, eu sugeriria a você acrescentar mais uma a divisão de numero
    9-PPPP-SSSS pois já me acostumei a falar de quatro em quatro
    mas não tenho esta opção no meu celular,
    quem sabe se você enviar o seu programa para a Nokia e mídia, alguém da Nokia enxerga a facilidade que você propôs,
    a permissão de acrescentar parêntesis e hífen para dividir o numero.

    – PARABÉNS –
    SOLUÇÃO ELEGANTE – ABORDAGEM INTELIGENTE.
    Abraços,
    Carlos Luizetto

    • 02/08/2012 às 12:52

      Carlos, obrigado por essa “redação” como comentário. Foi de muita valia!

      Vou tentar comentar sobre alguns tópicos que você citou.

      Acentuação: isso depende da codificação com a qual um .vcf foi gerado. Meu código deveria descobrir essa codificação de forma automática. Vou fazer mais alguns testes pra descobrir quando esses erros podem ocorrer.
      Acrescentar/manter zero: o script consegue entender esse formato que você ilustrou. Você pode usar a opção “Não alterar” quando o script te perguntar o formato.
      Nova divisão de número “1-4-4”: não sei por que não pensei nela antes, pois parece ser a mais óbvia pro nosso costume do 4-4. A última versão já implementa esse formato!
      Divulgação: não sou o tipo de pessoa que faz muita propaganda do que faz. O velho boca-a-boca e um boa escolha das palavras que colocam o link do artigo nos primeiros resultados da busca no Google
      já são suficientes.

      Forte abraço!

  5. Leonardo Reis
    08/08/2012 às 21:40

    Caro amigo,
    Estive tentando fazer a atualização dos números mas após executar o arquivo sym9.rb aparece o seguinte erro
    C:Nokia>”C:Ruby193binruby.exe” sym9.rb
    C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’:
    cannot load such file — vcard (LoadError)
    from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:i
    n `require’
    from sym9.rb:1:in `’

    Obs:Alguns membros do outro forum que você postou o tutorial estão com o mesmo problema

    • 08/08/2012 às 22:02

      Você se refere ao post no Tekimobile, não? Lá ocorreu um lapso e eu esqueci do comando “gem install vcard”, que baixa um código necessário para o Symbian9 funcionar. Execute esse comando e tente rodar o script novamente. Abraço

  6. Roberto
    09/08/2012 às 20:58

    Boa Noite Gusmão.
    Muito boa a sua iniciativa,so que eu fiz todos os procedimentos e nada de atualizar.
    Ele roda legal ate o menu de opcao se Deseja “Colocar na frente do numero mesmo que o telefone seja da mesma area? ”
    AI ele da um erro, tipo, gem..vcard. e alguns erros e nao atualiza nda…
    E agora?

    • Roberto
      09/08/2012 às 21:11

      Esqueci um Detalhe, o formato no meu celular ele esta “01198765432”
      Sera por isso q ocorre o erro?

      • 09/08/2012 às 21:32

        Você tem que executar “gem install vcard” antes de rodar o script. Quanto ao formato, pode ficar tranquilo porque ele é compreendido pelo script. Abraço

      • Roberto
        09/08/2012 às 22:09

        Descobri o erro.
        Se a sua agenda tiver >=13 digitos,ele nao atualiza.
        Desculpa o transtorno rs…
        Valeu.

      • 09/08/2012 às 23:12

        Olôco, 13 dígitos! Como é esse formato que você usa? Quem sabe eu possa adicioná-lo na próxima versão.

  7. Roberto
    10/08/2012 às 07:18

    Mendel Gusmão :
    Olôco, 13 dígitos! Como é esse formato que você usa? Quem sabe eu possa adicioná-lo na próxima versão.

    Bom Dia Gusmão!

    HAha,entao,e que tinha alguns numeros que estava o codigo de operadora. ou seja “ZOOAAPPPPSSSS”

    Z = Zero
    OO = Código da operadora
    AA = Código de área (DDD)
    PPPP = Prefixo
    SSSS = Sufixo

    Tenho alguns numeros do Japao tbm,ai aumenta bastante os numeros,indo pra 15.

    • 10/08/2012 às 11:47

      Roberto, esse padrão de 13 dígitos é reconhecido pelo programa! Quanto aos números japoneses, tenho certeza de que são ignorados no processo, assim como números de outros DDDs! Soltei uma nova versão lá no gist, dá uma conferida! Abraço

      • Roberto
        10/08/2012 às 12:34

        Yaeh Gusmão,blza?

        Mas e estranho heim,so consegui qdo fazia um contato por vez,pra achar o erro.

        E quando apareceu um assim ex.: 0151198765432″ ele nao ia de jeito nenhum e dava erro.

        Ai os que estavam com digitos >=13 eu retirei e ai foi de boa.

        Vou testar de novo com outros arquivos antes da atualizacao se da algum erro.

        No Nokia os numeros sao sem formatacao nenhuma (Parenteses,hifem etc.)

        Mas obrigado pela atenção,quem sabe alguem tava com os mesmos problemas e com essa atualização foi resolvido.

        Abracos..

      • Roberto
        11/08/2012 às 14:51

        BoaTarde Gusmão,

        Haha, testei agora novamente, aos que forem atualizar a sua Agenda e os Contatos tiver acentos (~,ç,ã etc) ele da erro rs.

      • 11/08/2012 às 15:32

        Esse problema da acentuação é muito misterioso, hahaha.

        Vamos fazer o seguinte: abra o sym9.rb e procure a linha

        content = open(vcard_path, “r”) { |f| f.read }

        Substitua por

        content = open(vcard_path, “r:iso-8859-1”) { |f| f.read }

        Aí é só você copiar os VCFs de backup e tentar de novo. Depois você me conta o que aconteceu.

      • Roberto
        14/08/2012 às 08:04

        Bom Dia Gusmão.

        Eh eu testei novamente alterando a linha de comando especificado,mas continua não atualizando e dando erro.

        Abracos..

    • 14/08/2012 às 16:43

      Roberto, você pode me mandar esse vCard pra eu fazer alguns testes por aqui? mendelsongusmao+pvrehaavok@gmail.com

      Eu ía te pedir pra editar nome/telefone mas talvez nesse processo a codificação do arquivo seja alterada. Então o que posso fazer é garantir sigilo sobre esse contato. 🙂

      • Roberto
        14/08/2012 às 19:49

        Achei o pq de estar dando erro.
        Maldito seja,testei varias opções,quantidade de caracteres,acentuação e creio que descobri o erro.

        Ele não aceita o “ç”.

        Pode fazer o teste,qdo ele encontra “ç” ele retorna o erro.
        Testei de varias maneiras,e o problema que encontrei foi esse.

  8. 10/08/2012 às 19:37

    dá erro quando vou fazer o download do ruby, aparece:
    Tempo limite atingido

    O servidor files.rubyforge.vm.bytemark.co.uk demorou muito para responder.

    Este site pode estar temporariamente fora do ar ou sobrecarregado. Tente de novo em alguns instantes.
    Se você não consegue carregar nenhuma página, verifique a conexão de rede do computador.
    Se o seu computador ou rede forem protegidos por um firewall ou proxy, certifique-se de que o Firefox esteja autorizado a acessar a web.

    • 11/08/2012 às 14:08

      Gus, esse é um problema do servidor deles e está fora do meu alcance. Você pode procurar outras fontes para download ou tentar em outra ocasião.

  9. Sérgio Henriques
    11/08/2012 às 10:55

    Não consigo fazer funcionar…
    Copiei os contatos nessa pasta C9N8, os arquivos baixados nela e tambem direto no diretorio C e na pasta dos contatos salvos…

    Aparece isso no comandos:

    C:\Users\sergio>gem install vcard
    ‘gem’ não é reconhecido como um comando interno
    ou externo, um programa operável ou um arquivo em lotes.

    C:\Users\sergio\Desktop\C9N8>gem install vcard
    ‘gem’ não é reconhecido como um comando interno
    ou externo, um programa operável ou um arquivo em lotes.

    C:\Users\sergio\Desktop\C9N8>ruby symb9.rb
    ‘ruby’ não é reconhecido como um comando interno
    ou externo, um programa operável ou um arquivo em lotes.

    • 11/08/2012 às 14:10

      Sérgio, essas mensagens dizem que o ruby não está instalado. Você deve executar o “rubyinstaller-1.9.3-p194.exe” antes dos comandos gem e ruby.

      • Roberto
        11/08/2012 às 14:25

        Mas Sergio,na instalaçao,nao esqueça de selecionar as caixas de selecao,na instalacao,para adicionar o caminho no Ruby no Patch do sistema. [Coisa de Programador]

        So para que em qq pasta q vc estiver o comando “ruby” se executado,sem especificar o caminho completo do executavel.

  10. everton
    13/08/2012 às 23:37

    A Anatel autorizou o uso do dígito 5 para novas linhas que utilizem o código de área 11. Desde o dia 4 de abril as operadoras de celular na região metropolitana de São Paulo estão autorizadas a comercializar números com o novo prefixo.

    Até o momento as operadora Oi, Tim e Vivo são as que estão vendendo os novos números utilizando o digito 5, com prefixos 5700-5768 para a Oi, 5787-5799 e 5475-5499 para a TIM, 5472-5474 e 5769-5786 para a Vivo.

    você tem esta informação do script? pois temos telefones fixos e moveis começados com o 5xxx-xxxx

    • 14/08/2012 às 10:36

      Para isso há o “modo semiautomático” que pergunta o que fazer quando encontrar um número 5xxx. Abraço

      • Eveton
        14/08/2012 às 11:03

        legal, de qualquer forma parabéns pela iniciativa, se não pudermos ajudar financeiramente pode deixar que ajudamos no reconhecimento ao seu trabalho

  11. 14/08/2012 às 16:42

    (oops)

  12. João Cardoso
    08/09/2012 às 18:31

    Boa noite, Mendel. Parece que eu empaquei na parte que deveria ser a mais facil. Então, peço desculpas por incomodar, mas realmente não entendo o que acontece. Os meus arquivos .vcf já foram, todos, atualziados. O problema é que a Importação do Nokia Suite simplesmente não atua; nada acontece. O que estou fazendo de errado ?

    Agradeço desde já

  13. Jose
    30/10/2013 às 22:00

    Você podia aproveitar que agora o Rio de Janeiro e outros estados adicionaram o 9 e atualizar a sua solução! Excelente trabalho

  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: