posit-dev / posit-dev/rsconnect-python

support following symlinks

Ouverte
#414 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
37
Forks
28
Merge moyen
1 j 3 h
PR mergées (30 j)
7

Description

In my case, the app.py is a symlink to a file in the parent directory (long story, but there is a good reason for this). When rsconnect deploys an app, does it follow local symlinks so that the content is deployed to the server?
The reason I have symlinks is because I have many apps in the same directory (named app_basic.py, app_recipes.py, etc.) and I want to deploy the apps individually, but I think rsconnect wants them to be named app.py. So I made a directory for each with symlinks from foo/app.py to the original file, like app_basic.py.
Why are they all in the same directory? Because they share common submodules, like utils.py, chat/init.py, and so on.

When constructing the list of files to bundle we currently rely on os.path.isfile so symlinks are not followed.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans rsconnect/bundle.py, au niveau de l'appel à os.path.isfile vers la ligne 962, où la liste des fichiers à intégrer au bundle est construite. Suivez la manière dont cette liste est utilisée lors du déploiement, puis vérifiez que le contenu cible d'un fichier d'application lié symboliquement est inclus dans le bundle sans modifier le comportement existant de sélection des fichiers.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
cli
Type d'issue
Fonctionnalité
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.