[PYTHON] Publication groupée sur Qiita: équipe utilisant l'API Qiita

Motivation

Le groupe auquel j'appartiens a soudainement décidé de présenter Qiita: team, "Je souhaite transférer les fichiers Astuce et savoir-faire qui ont été initialement partagés sous forme de texte vers l'équipe Qiita." Et cela. .. .. J'ai décidé de l'essayer en premier.

→ "Vous pouvez toujours voir le texte via le Web" → "Taggé et gérer facilement" → "Vous pouvez ignorer les mentions au sein de l'équipe et les faire lire." J'ai trouvé quelque chose qui a l'air bien. .. .. J'ai implémenté la publication par lots avec l'API Qiita.

La partie trébuchée

J'ai commencé à l'implémenter avec une sensation de légèreté, mais j'ai rencontré des problèmes.

  1. Bug avec un tableau en double de "balises"
  2. Codage de fichier texte unifié en utf-8
  3. Ajoutez des balises pour chaque répertoire

1. Tableau de balises

Selon l'API Qiita (http://qiita.com/docs/api#14) Vous pouvez mettre le nom et la version dans les balises d'entrée.

before.json


{
    "title": "test",
    "body": "This is a test posting.",
    "tags": {
        "name": "tips"
    },
    "team_url_name": "ourteam"
}

J'avais l'habitude de ressentir ça. .. ..

after.json


{
    "title": "test",
    "body": "This is a test posting.",
    "tags": [
        {
            "name": "tips"
        }
    ],
    "team_url_name": "ourteam"
}

J'ai pu le faire. C'est une erreur rudimentaire.

2. Codage de fichier texte unifié en utf-8

Même si j'essaye de convertir shift-jis en utf-8 sur Mac, J'ai remarqué qu'il existe plusieurs fichiers texte qui ne peuvent pas être lus pour une raison quelconque. Lorsque je l'ouvre avec cotEditor. .. .. Windows DOS?

Quand je l'ai recherché, il semblait être le code de caractère cp932. Dans le code implémenté en Python, il semblait être reconnu séparément de shift-jis.

3. Ajoutez des balises pour chaque répertoire

Lors de la publication d'un fichier texte dans n'importe quel répertoire J'ai décidé de mettre ce nom de répertoire dans la balise. Cependant, je ne sais pas comment obtenir efficacement la chaîne de caractères.

file_name, ext = os.path.splitext(file)
tag_line = files[len(path)+1:]
tag_list = tag_line.split('/')

Séparez le nom du fichier et l'extension Coupez la chaîne de caractères sous le chemin avec '/' Lors de la mise en œuvre, "Oh, je me demande s'il existe un moyen plus intelligent." J'ai codé dans cet esprit. (Pour le moment, j'ai pu obtenir la chaîne de caractères en tant que balise sous forme de tableau sans aucun problème par cette méthode.)

Après le montage

Si vous y réfléchissez bien, vous ne pouvez modifier que le compte que vous avez publié, donc Plus tard, je l'ai changé manuellement en "co-édition", Tohoho.

Quand j'ai contacté M. Qiita à ce sujet, Il semble qu'il soit pris en charge par l'API Qiita v2 en cours de développement. J'ai hâte d'y être.

échantillon

https://github.com/tkshnkmr/qiita_api

Recommended Posts

Publication groupée sur Qiita: équipe utilisant l'API Qiita
Comment obtenir des données d'article à l'aide de l'API Qiita
Essayez de supprimer des tweets en masse à l'aide de l'API de Twitter
Comment afficher la carte à l'aide de l'API Google Map (Android)
Procédure pour utiliser l'API WEB de TeamGant (en utilisant python)
Créez facilement un serveur API à l'aide du module go-json-rest
Création récente de classement à l'aide de l'API Qiita avec Python
Essayez d'utiliser l'API ChatWork et l'API Qiita en Python
Essayez de publier sur Qiita pour la première fois
[Rails] Comment obtenir des informations de localisation à l'aide de l'API de géolocalisation
Pré-traitement pour construire un modèle seq2seq à l'aide de l'API fonctionnelle de Keras
Notification PUSH de Python vers Android à l'aide de l'API de Google
Essayez de créer une API RESTful avec MVC à l'aide de Flask 1.0.2
Publiez sur votre compte en utilisant l'API sur Twitter
Comment analyser avec Google Colaboratory à l'aide de l'API Kaggle
J'ai essayé de rechercher des vidéos à l'aide de l'API de données Youtube (débutant)
Comment réinitialiser le mot de passe via l'API à l'aide du framework Rest Django
Défi pour générer des en-têtes Yahoo! News en utilisant uniquement l'API COTOHA
Emballage Python de l'API Qiita pour le traitement par lots pour récupérer les publications Qiita
Essayez de juger des photos de plats à l'aide de l'API Google Cloud Vision
Exportez les informations produit au format CSV à l'aide de l'API de recherche de produits Rakuten [Python]