invalid parsed selector, question about url() and built-in types
- Langage dominant
- Python
- Étoiles
- 17
- Forks
- 2
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Hello,
I'm using css lib to parse styles uploaded by users and then do some validation rules. First problem is about inproperly parsed selectors, for example:
```
#editTemporaryPriceList,
#addTemporaryPriceList,
#addPriceList { font-size: 1.2em; display: block; color: #333; text-decoration: underline; margin-top: 10px; padding-bottom: 3px; }
```
is parsed as:
```
(None, {'pseudo': [], 'attrib': [], 'hash': ['editTemporaryPriceList'], 'class': []})
(None, {'pseudo': [], 'attrib': [], 'hash': ['#addTemporaryPriceList'], 'class': []})
(None, {'pseudo': [], 'attrib': [], 'hash': ['#addPriceList'], 'class': []})
```
(# at the begging of 'hash' in two selectors)
The second problem is about attributes with url(). Why url() is stripped from value?
Third and the last problem is about built-in types. For example Percentage, Length, Rgb. I'm trying to create cleaned sheet from CSSStyleSheet, but i'm unable to check if attribute value is type of Length or other. When I import those classes from codetalker, 'isinstance' always return False and i need to do some hasattr checks to discover value's type. Is there any other way to do that?
It would be great if css could work in both ways (parse and print).
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par reproduire les trois exemples avec le CSS parser et CSSStyleSheet, puis examinez le selector, la valeur de url() et la gestion des types intégrés de codetalker. Comparez la sortie analysée avec le CSS d’origine et considérez le travail terminé lorsque les selectors et les valeurs de url() sont préservés et que des vérifications de type fiables sont exposées ; ajoutez une couverture de régression pour chaque cas.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100